python datetime.utcnow没有显示正确的时间戳

时间:2017-04-18 17:26:23

标签: python datetime

我无法绕过这个。

假设unixtime是1970.1.1以来的总秒数,为什么datetime.utcnow()。timestamp()会返回不同的数字?

>>> from datetime import datetime
>>> now = datetime.utcnow()
>>> print(now.timestamp())
1492525439.406112
>>> print((now-datetime(1970,1,1)).total_seconds())
1492536239.406112

2 个答案:

答案 0 :(得分:2)

您有时区问题。

两个值之间的差异恰好是10,600秒,恰好是三个小时。

utcnow位于UTC时区。 datetime使用本地计算机时区。将它们更改为使用相同的时基,您将看到不再存在差异。

您可以将datetime.utcnow更改为datetime.now,或将datetime(...)更改为datetime(...).replace(tzinfo=...)

答案 1 :(得分:0)

这取决于操作系统。

See this link It has the same timestamp