Um einen Unix Epoch-Wert (Sekunden seit 1.1.1970 0 Uhr UTC) mit
Shell-Mitteln in eine lesbare Zeitangabe (lokale Zeitzone) zu
wandeln, kann man sich des Kommandos date bedienen:
$ date -d @1406546442
Mo 28. Jul 13:20:42 CEST 2014
Dasselbe in einer besser strukturierten Darstellung:
$ date -d @1406546442 '+%F %T %z'
2014-07-28 13:20:42 +0200
Hierbei ist:
%F - Datum
%T - Uhrzeit
%z - Zeitzone als hhmm-Offset
Soll die Ausgabe in einer anderen als der lokalen Zeitzone erfolgen,
wird die Environment-Variable TZ entsprechend gesetzt (hier Ausgabe in UTC):
$ TZ=UTC date -d @1406546442 '+%F %T %z'
2014-07-28 11:20:42 +0000
Dasselbe im ISO-8601 Datumsformat (sekundengenau):
$ date -d @1406546442 --iso-8601=seconds
2014-07-28T13:20:42+0200
Die Umkehrung - also die Wandlung einer lesbaren Zeitangabe
(der lokalen Zeitzone, wenn keine angegeben ist, hier: MESZ)
in Epoch - ist auch möglich:
$ date -d '2014-07-28 13:20:42' +%s
1406546442
Soll die Interpretation in einer anderen Zeitzone als der lokalen
Zeitzone erfolgen, kann dies durch Setzen der Environmentvariable TZ
erreicht werden:
$ TZ=UTC date -d '2014-07-28 13:20:42' +%s
1406553642 # Differenz zu oben: -7200, also minus 2 Stunden gegenüber MESZ
Der aktuelle Zeitpunkt als Epoch-Wert:
Details siehe date(1) Manpage