好吧,我在这里不知所措。当转换为时间戳,然后从时间戳转换回来时,是否有任何理由似乎任意地将一个小时添加到日期?
import datetime
dt = datetime.datetime(year=2020, month=3, day=8, hour=2)
print(dt)
dt2 = datetime.datetime.fromtimestamp(dt.timestamp())
print(dt2)产出如下:
2020-03-08 02:00:00
2020-03-08 03:00:00哈?在3.10.4和3.10.3上测试
发布于 2022-04-23 02:12:48
您的代码在我在阿德莱德(澳大利亚)的计算机上运行良好。它没有出现在你身上的原因是,美国EST时区的夏令时间是在2020年3月8日开始的,因此时钟从凌晨2点提前到凌晨3点,因此为凌晨2点产生的时间戳相当于实际的凌晨3点(因为2点实际上并不存在)。如果您用hour=1或hour=3来尝试您的代码,它会运行得很好。
您可以通过仅使用UTC时间来解决此问题。
https://stackoverflow.com/questions/71976270
复制相似问题