pytz DST问题

问题描述

我试图了解pytz如何处理DST,并遵循documentation中的示例,因此其相关部分为:

>>> fmt = '%Y-%m-%d %H:%M:%s %Z%z'
>>> eastern = timezone('US/Eastern')
>>> loc_dt = datetime(2002,10,27,1,30,00)
>>> est_dt = eastern.localize(loc_dt,is_dst=True)
>>> edt_dt = eastern.localize(loc_dt,is_dst=False)
>>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt))
2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500

有趣的是,使用year=2020重复该示例会产生两个带有-0400偏移量的EDT日期:

>>> loc_dt = datetime(2020,is_dst=False)
>>> print(est_dt.strftime(fmt) + ' / ' + edt_dt.strftime(fmt))
2020-10-27 01:30:00 EDT-0400 / 2020-10-27 01:30:00 EDT-0400

为什么没有EST日期的偏移量为-0500?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)