Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
Google Site



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 11-11-2008
Registreret Bruger
 

Join Date: Nov 2008
Stillinger: 19
Konverter Tidehverv Tid til Standard Dato og Tid & Vice versa

Hi guys,

Jeg ved, at dette emne har været drøfte adskillige gange, og jeg har søge på nettet, og dette forum for det.

Dog ikke i stand til at løse det problem, jeg blev udsat indtil videre.

Jeg er på Solaris platform og ude af stand til at installere yderligere pakker som GNU dato og gawk at gøre brug af deres funktioner.

Derfor agter jeg at gå til Perl og omfatte en one-liner kommando i shell script til omstilling.

Som du kan se nedenfor, har jeg ingen problemer at konvertere Tidehverv til Standard Date / Time.
Men for at konvertere Standard Dato / Tid til Tidehverv, får jeg ikke den korrekte Epoch værdi.

Jeg mangler noget her?

Konverter Tidehverv til Standard Date / Time

Code:
bash-3.00# perl -e 'print scalar(localtime(1226424300)), "\n"'
Wed Nov 12 01:25:00 2008

Konverter Standard Dato / Tid til Tidehverv

Code:
bash-3.00# perl -e 'use Time::Local; print timelocal(0,25,1,11,11,2008), "\n";'
1228929900
bash-3.00# perl -e 'use Time::Local; print timegm(0,25,1,11,11,2008), "\n";'
1228958700


Thanks in advance.
Sponsorerede links
  #2 (permalink)  
Old 11-12-2008
Yogesh Sawant's Avatar
Part Time Redaktør og Full Time Dad
 

Join Date: Sep 2006
Beliggenhed: Rossem, Tazenda
Stillinger: 1124
virker for mig:
Code:
[yogeshs@helptoldreal-lr yogeshs]$ perl -e 'use Time::Local; print timelocal(0,25,1,11,11,2008), "\n";'
1228938900
[yogeshs@helptoldreal-lr yogeshs]$ perl -e 'print scalar(localtime(1228938900)), "\n"'
Thu Dec 11 01:25:00 2008
[yogeshs@helptoldreal-lr yogeshs]$

kan du sende et lignende eksempel, hvor den epoke værdi, du fik, er forkert?
  #3 (permalink)  
Old 11-12-2008
Registreret Bruger
 

Join Date: Nov 2008
Stillinger: 19
Citat:
Oprindeligt Indsendt af Yogesh Sawant View Post
virker for mig:
Code:
[yogeshs@helptoldreal-lr yogeshs]$ perl -e 'use Time::Local; print timelocal(0,25,1,11,11,2008), "\n";'
1228938900
[yogeshs@helptoldreal-lr yogeshs]$ perl -e 'print scalar(localtime(1228938900)), "\n"'
Thu Dec 11 01:25:00 2008
[yogeshs@helptoldreal-lr yogeshs]$

kan du sende et lignende eksempel, hvor den epoke værdi, du fik, er forkert?
Hi Yogesh,

Tak for svaret.

Jeg fandt ud af, at den måned parameter for perl timelocal () behovet for at "- 1".
Som januar at angive "0", til december angive 11.
Jeg fik den værdi forkert, thats hvorfor epoke returnerer ikke en konsekvent værdi.


Code:
bash-3.00# perl -e 'print scalar(localtime(1226426701)), "\n"'
Wed Nov 12 02:05:01 2008
bash-3.00# perl -e 'use Time::Local; print timelocal(1,5,2,12,10,2008), "\n"'
1226426701

Skam påskønne jeres hjælp
  #4 (permalink)  
Old 02-06-2009
Registreret Bruger
 

Join Date: Dec 2008
Stillinger: 27
Kan jeg bruge over funktionen som nedenfor.?
i \u003d 1226424300;
perl -e 'print scalar (localtime ( "$ i")), "\ n" "

Tak
Avklinux
  #5 (permalink)  
Old 02-07-2009
Registreret Bruger
 

Join Date: Jan 2008
Posts: 729
Citat:
Oprindeligt Indsendt af DrivesMeCrazy View Post
Jeg fandt ud af, at den måned parameter for perl timelocal () behovet for at "- 1".
Som januar at angive "0", til december angive 11.
Jeg fik den værdi forkert, thats hvorfor epoke returnerer ikke en konsekvent værdi.
Thats it. 0-11 for de måneder, ligesom localtime (). God fangst.
  #6 (permalink)  
Old 02-07-2009
Registreret Bruger
 

Join Date: Aug 2008
Stillinger: 92
Ikke er sikker på perl men i bash:

# Epoke
$ Date +% s

# Hvis du har en tid allerede i tankerne, kan du ændre linjen ovenfor for at bruge din tid og ikke systemet tid som denne:

date-d "Sat Feb 7 00:37:06 EST 2009" +% s

# Result \u003d 1233985026

# Og tilbage til sædvanlig tid fra epoke
dato - datoen "1 januar 1970 00:00:00 0.000 +` date +% s `sekunder"

# Du kan erstatte `date +% s« i linjen ovenfor med dit eget epoke tid, at du allerede har opnået

dato - datoen "1 januar 1970 00:00:00 0.000 + 1233985026 sekunder"

# Result \u003d Sat Feb 7 00:37:06 EST 2009

Sidst redigeret af ddreggors; 02-07-2009 på 01:46 AM..
Sponsorerede links
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er Slukket


Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Konverter UTC tid til Dato GNMIKE Shell Programmering og Scripting 10 05-08-2009 08:07 AM
Omregn millisekunder til normaltid chiru_h Shell Programmering og Scripting 1 07-19-2007 02:45 PM
Sådan konverteres epoke tid til at readible format? cin2000 Shell Programmering og Scripting 11 12-19-2005 07:14 PM
Konverter fra standard epoke tid fra en shell script? LordJezo Shell Programmering og Scripting 4 09-19-2005 12:48 AM
binær til strengen konvertering og omvendt kinnaree Programmering 3 11-16-2002 09:02 AM



Alle tidspunkter er GMT -4. Den tid er nu 10:51 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Indhold Copyright © 1993-2010. Alle rettigheder Reserved.Ad Management by RedTyger

Content Relevant webadresser ved vBSEO 3.2.0