Shell date Funktion

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Wormi
Beiträge: 123
Registriert: 08.08.2004 09:21:03
Kontaktdaten:

Shell date Funktion

Beitrag von Wormi » 17.05.2010 13:37:56

Hallo zusammen,

ich benutze den Befehl date +%s in der Shell um die Sekunden seit 1970-01-01 00:00:00 UTC zu bekommen.
Geht das ganze auch umgekehrt? Ich gebe die Sekunden an und erhalte ein Klartextdatum?

Gruß und danke Wormi

Benutzeravatar
neuss
Beiträge: 2165
Registriert: 06.11.2004 17:56:02
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell date Funktion

Beitrag von neuss » 17.05.2010 14:05:59

Hallo,

Code: Alles auswählen

$ date -d @1274097600
Mo 17. Mai 14:00:00 CEST 2010
gruss neuss
stell dir vor, es geht, und keiner kriegt es hin.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Shell date Funktion

Beitrag von uname » 17.05.2010 14:09:50

Nur so am Rande:

Code: Alles auswählen

date -d @2147483647
Di 19. Jan 04:14:07 CET 2038

date -d @2147483648
date: ungültiges Datum »@2147483648«

Benutzeravatar
neuss
Beiträge: 2165
Registriert: 06.11.2004 17:56:02
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell date Funktion

Beitrag von neuss » 17.05.2010 14:29:42

Bei mir gibts da erst etwas später Probleme;)

Code: Alles auswählen

$ date -d @2147483648
Di 19. Jan 04:14:08 CET 2038
$ date -d @67768036191673199
Mi 31. Dez 23:59:59 CET 2147485547
$ date -d @67768036191673200
date: Zeit 67768036191673200 außerhalb des zulässigen Bereichs
und mit UTC haben wir noch zwei Stunden mehr :mrgreen:

Code: Alles auswählen

$ date -u -d @67768036191676799
Mi 31. Dez 23:59:59 UTC 2147485547
gruss neuss
stell dir vor, es geht, und keiner kriegt es hin.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Shell date Funktion

Beitrag von uname » 17.05.2010 14:40:37

Interessant. Da wurden nun die Sekunden in 64 (bzw. 63) Bit kodiert und am Ende werden nur 55,911 Bit genutzt. Die Jahreszahl entspricht nun jedoch genau 31 Bit, wenn man die 1900 wieder abzieht ;-) So wird man auch in zwei Milliarden Jahren noch an das 20. Jahrhundert denken ;-)
Vielleicht sollte ich mir mal den zugehörigen Sourcecode durchlesen, um das zu verstehen. /bin/date gehört zu Debiancoreutils. Vielleicht kann auch jemand den entscheidenen Teil mal hier posten.

Antworten