Login
Newsletter
Mi, 25. August 2004, 22:43

UNIX-Zeitstempel lesbar machen

In der UNIX-Welt wird die Zeit rechner-intern als ein ganzzahliger Wert geführt, der die Sekunden seit 00:00 am 1.1.1970 GMT darstellt.

Normalerweise hat man damit als Anwender oder Administrator nicht viel zu tun; wer sich das mal anschauen möchte, kann date "+%s" eingeben. Das Ergebnis ist die aktuelle Uhrzeit im internen Format.

An einigen wenigen Stellen kann man aber auf das Problem stoßen, eine Uhrzeit nur in diesem Format erhalten zu können. So liefert rpm Zeitstempel nur in diesem Format. Zum Beispiel kann man so erfahren, wann ein bestimmtes Paket installiert wurde:

rpm -q --qf "%{NAME} %{INSTALLTIME}\n" kernel

Auch "stat -t" liefert die drei Zeitstempel einer Datei im internen UNIX-Format.

Jetzt muss man diese Information nur noch in ein menschenlesbares Format konvertieren können. Dazu reicht ein perl-Einzeiler:

perl -e '$time=localtime($ARGV[0]); print $time, "\n";'
1089286144

liefert als Ausgabe »Thu Jul 8 13:29:04 2004« - natürlich nur in meiner Zeitzone, die der CEST (Central European Summer Time) entspricht. Wer die Information lieber in GMT/UTC haben möchte, muss dazu nur die Funktion localtime() durch gmtime() ersetzen.

Kommentare (Insgesamt: 21 || Alle anzeigen )
Re[3]: noch kürzer... (ruediger, Di, 31. August 2004)
Re[2]: noch kürzer... (Sebastian Kayser, Di, 31. August 2004)
Re: noch kürzer... (Christian, So, 29. August 2004)
Re: noch kürzer... (ruediger, So, 29. August 2004)
Re: Zeit (anonymous, Fr, 27. August 2004)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten