我正在努力让epoch时间戳正确地进行往返。当我这样做时,我不明白为什么我没有得到同样的时代:
In [1]: import datetime, pytz
In [2]: datetime.datetime.fromtimestamp(1441151100, tz=pytz.utc).strftime("%s")
Out[2]: '1441179900'
我以为我在这里处理所有UTC,但出于某种原因,上面的strftime
会返回不同的纪元时间戳。为什么呢?
答案 0 :(得分:3)
这将让你往返
>>> (datetime.datetime.fromtimestamp(1441151100, tz=pytz.utc) - datetime.datetime(1970, 1, 1, tzinfo=pytz.utc)).total_seconds()
1441151100.0
如果您使用的是Python 3.3+,则可以将其简化为:
datetime.datetime.fromtimestamp(1441151100, tz=pytz.utc).timestamp()