gpt4 book ai didi

python - 为什么时区感知日期时间的 tzinfo 不等于时区?

转载 作者:太空狗 更新时间:2023-10-30 02:16:23 26 4
gpt4 key购买 nike

>>> import pytz
>>> tz = pytz.timezone('America/Chicago')
>>> dt_naive = datetime(year=2017, month=6, day=6)
>>> dt_aware = tz.localize(dt_naive)
>>> dt_aware.tzinfo == tz
False

这些不同的原因是什么?

>>> dt_aware.tzinfo
<DstTzInfo 'America/Chicago' CDT-1 day, 19:00:00 DST>
>>> tz
<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD>

最佳答案

第一个已调整为提供的日期和时间,2016-06-06T00:00:00。中部夏令时 (CDT) 此时生效。它比 UTC 晚 5 小时(24:00 - 05:00 = 19:00)。

第二个尚未本地化,因此它为您提供了可用时区数据中的第一个偏移量,恰好是 Local Mean Time (LMT)入口。 You can see this in the tzdata sources here . LMT 比 UTC 晚 5 小时 50 分 36 秒。 LMT 偏移量的秒数在 pytz 中的某处四舍五入,因此 18:09 正确反射(reflect)了这一点(24:00 - 05:51 = 18:09)

关于python - 为什么时区感知日期时间的 tzinfo 不等于时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44397094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com