如果在Python 3.7下:
from datetime import datetime
datetime(2019, 4, 1).timestamp()
我得到1554073200.0
。根据{{3}},应该不是1554076800.0
吗(也就是1小时)?
仅在2019年4月1日之后才出现此错误。例如,如果我尝试:
datetime(2019, 3, 31).timestamp()
我得到1553990400.0
,我相信这是预期的结果。
我正在使用Spyder 3.3.6。谢谢您的帮助
答案 0 :(得分:1)
问题在于您的日期时间是“天真”的。它不知道它所在的时区。timestamp
方法(如文档中所指定)假设您需要本地时区,在您的情况下,该时区在2019年3月31日更改为夏令时。获取答案您需要设置时区。例如,
from datetime import datetime, timezone
d = datetime(2019,4,1, tzinfo=timezone.utc)
d.timestamp()
这将为您带来1554076800.0
的期望。