Py学习  »  Python

Python日期时间错误?

Ryan Mcconnell • 3 年前 • 1225 次点击  

好吧,我在这里不知所措。在转换为时间戳,然后再从时间戳转换回日期时,有没有任何理由可以任意将一小时添加到日期中?

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中测试

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132703
 
1225 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Nick
Reply   •   1 楼
Nick    3 年前

你的代码在我位于澳大利亚阿德莱德的电脑上运行良好。你没有这样做的原因是,美国东部时区的夏令时从2020年3月8日开始,因此当时的时钟从凌晨2点切换到凌晨3点,因此为凌晨2点生成的时间戳对应于凌晨3点的实际时间(因为凌晨2点实际上并不存在)。如果你试着用你的代码 hour=1 hour=3 它会很好用的。

您可以通过单独使用UTC时间来解决此问题。