绕过纪元时间戳的最佳方法是什么?

时间:2015-09-02 21:58:26

标签: python

我正在努力让epoch时间戳正确地进行往返。当我这样做时,我不明白为什么我没有得到同样的时代:

In [1]: import datetime, pytz

In [2]: datetime.datetime.fromtimestamp(1441151100, tz=pytz.utc).strftime("%s")
Out[2]: '1441179900'

我以为我在这里处理所有UTC,但出于某种原因,上面的strftime会返回不同的纪元时间戳。为什么呢?

1 个答案:

答案 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()