将datetime(1970,1,1)转换为秒时出现意外结果

时间:2016-01-15 13:00:53

标签: python datetime python-3.x timestamp posix

在Python 3.5中,当我将POSIX origin 1970-01-01转换为时间戳(以秒为单位)而不是0时,我得到以下结果:

import datetime as dt
t = dt.datetime(1970,1,1)
t.timestamp()
-10800.0

预期0由以下方式生成:

t = dt.datetime(1970,1,1,3)
t.timestamp()
0.0

这两个结果对我来说都很意外。这种行为可能是什么原因?

1 个答案:

答案 0 :(得分:2)

根据文档:假定天真的日期时间实例代表当地时间

你得到一个负数,所以我猜你恰好是UTC-3(10800/60/60)(加3小时你得到0)

制作一个时区感知日期,你应该回到0。