我无法绕过这个。
假设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
答案 0 :(得分:2)
您有时区问题。
两个值之间的差异恰好是10,600秒,恰好是三个小时。
utcnow
位于UTC时区。 datetime
使用本地计算机时区。将它们更改为使用相同的时基,您将看到不再存在差异。
您可以将datetime.utcnow
更改为datetime.now
,或将datetime(...)
更改为datetime(...).replace(tzinfo=...)
。
答案 1 :(得分:0)
这取决于操作系统。