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

Unexpected result when converting datetime(1970,1,1) to seconds

在 Python 3.5 中,当我将 POSIX 原点 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

这两个结果都出乎我的意料。出现这种行为的原因可能是什么?

根据文档:假设原始日期时间实例代表本地时间

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

设置一个时区感知日期,您应该在 0 点返回。