20161209
Der Befehl date
lautet Gnu coreutils [^ 1].
[^ 1]: Für das BSD-Datum "Datum -r 1481122800" +% Y-% M-% d% T "", "Datum -j -f"% Y-% m-% d% T "" 2016-12 -08 00:00:00 "" +% s ""
date => epoch
$ date "+%s" -d"2016-12-08 00:00:00"
1481122800
$ perl -MTime::Local -le 'print timelocal(0,0,0,8,12 -1,2016)'
1481122800
$ python -c 'import datetime ; print (datetime.datetime(2016,12,8,0,0,0).strftime("%s"))'
1481122800
Es ist in Ordnung, weil über die Behandlung des Jahres der "Zeitlokalisierung" gesprochen wurde.
epoch => date
$ date "+%Y-%m-%d %T" -d@1481122800
2016-12-08 00:00:00
$ perl -MPOSIX -le 'print strftime "%Y-%m-%d %T", localtime(1481122800)'
2016-12-08 00:00:00
$ python -c 'import datetime ; print (datetime.datetime.fromtimestamp(1481122800))'
2016-12-08 00:00:00
Über.
Python ruft die Funktion strftime () der C-Bibliothek der Plattform auf, und ihre Implementierung variiert häufig von Plattform zu Plattform, sodass die insgesamt unterstützten Formatsymbole von Plattform zu Plattform variieren. In der Dokumentation zu strftime (3) finden Sie eine vollständige Ansicht der von der Plattform unterstützten Formatsymbole.
Es gibt also einige Umgebungen, in denen% s oder% N nicht implementiert sind.
memo
import time
from datetime import datetime as dt
print (int(time.mktime(dt(2016,12,8,0,0,0).timetuple())))
Recommended Posts