20161209
La commande date
est Gnu coreutils [^ 1].
[^ 1]: Pour la date BSD date -r 1481122800" +% Y-% M-% d% T "
, date -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
Ce n'est pas grave parce que le traitement de l'année «timelocal» a été évoqué.
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
sur.
Python appelle la fonction strftime () de la bibliothèque C de la plateforme, et son implémentation varie souvent d'une plateforme à l'autre, de sorte que les symboles de format global pris en charge varient d'une plateforme à l'autre. Consultez la documentation de strftime (3) pour une vue complète des symboles de format pris en charge par la plate-forme.
Ainsi, il existe certains environnements qui n'implémentent pas % s
ou% N
.
memo
import time
from datetime import datetime as dt
print (int(time.mktime(dt(2016,12,8,0,0,0).timetuple())))
Recommended Posts