Ich versuche, den Dateibefehl zu verwenden, um einen Dateizeitstempel zu generieren, den der Dateibefehl selbst interpretieren kann. Der Befehl date scheint jedoch keine eigene Ausgabe zu mögen, und ich bin nicht sicher, wie ich das umgehen soll. Ein typisches Beispiel:
sh-4.2$ date
Fri Jan 3 14:22:19 PST 2014
sh-4.2$ date +%Y%m%dT%H%M
20140103T1422
sh-4.2$ date -d "20140103T1422"
Thu Jan 2 23:22:00 PST 2014
Das Datum scheint die Zeichenfolge mit einem Versatz von 15 Stunden zu interpretieren. Gibt es dafür bekannte Workarounds?
Bearbeiten: Dies ist kein Problem der Anzeige:
sh-4.2$ date +%s
1388791096
sh-4.2$ date +%Y%m%dT%H%M
20140103T1518
sh-4.2$ date -d 20140103T1518 +%s
1388737080
sh-4.2$ python
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1388737080 - 1388791096
-54016
>>> 54016/3600
15.004444444444445
>>>
Bei Anzeige als Unix-Zeitstempel ist die Zeit immer noch um 15 Stunden verrutscht.
EDIT # 1
Vielleicht sollte ich diese Frage etwas anders stellen. Angenommen, ich habe eine Liste der ISO8601-Basiszeitstempel des Formulars:
- JJJJMMTThhmm
- JJJJMMTThhmmss
Was ist die einfachste Möglichkeit, sie in die entsprechenden Unix-Zeitstempel umzuwandeln?
Beispielsweise:
- 20140103T1422 = 1388787720
- 20140103T142233 = 1388787753
20140103T1518
ist nicht gültig nach ISO 8601, Zeitzone