Wie konvertiere ich eine Datumszeichenfolge in die aktuelle Zeitzone in der Befehlszeile?

11

Wie kann ich eine Datums- / Zeitzeichenfolge 2011-11-13 08:11:02 +0000in meine lokale Zeitzone in der Befehlszeile konvertieren ?

Daniel Beck
quelle
Zögern Sie nicht, andere Antworten hinzuzufügen, aber denken Sie daran, dass OS X BSD dateund nicht GNU hat date. Die Optionen sind sehr unterschiedlich.
Daniel Beck

Antworten:

17

Verwenden Sie date -jf "<input format>" "<input value>" +"<output format>".

Folgendes konvertiert ein UTC-Datum in meine lokale Zeitzone (MEZ):

$ date -jf "%Y-%m-%d %H:%M:%S %z" "2011-11-13 08:11:02 +0000" +"%Y_%m_%d__%H_%M_%S"
2011_11_13__09_11_02

Wenn Sie für Eingabe und Ausgabe dasselbe Datumsformat angeben, konvertieren Sie nur die Zeit in Ihre lokale Zeitzone. Wie im Beispiel können Sie dies jedoch mit einer Formatkonvertierung kombinieren.

Daniel Beck
quelle
2
Die Zielzeitzone kann durch vorübergehende Einstellung geändert werden $TZ: TZ=EST date -jf %H%z 23+0100 +%I%p05PM
Lri