【发布时间】:2012-11-30 08:01:09
【问题描述】:
我正在使用 python 2.7.3 和 pytz。
对于描述某个地区的给定时区(例如 America/New_York),我想知道该时区是否在一年中的部分时间遵守 DST。我关心当前有效的时区定义。换个说法,根据目前的时区定义,这个时区观察者会在接下来的 365 天内(或停止观察)夏令时吗?
另外,我想知道这个时区在观察 DST 时与 UTC 的偏移量是多少,以及当它不观察 DST 时的偏移量是多少。
最后,我想知道给定的时区目前是否正在遵守 DST。
最终目标是生成这样的列表:
Name Observes DST DST Offset non-DST Offset Presently DST
--------------------------------------------------------------------------------------
America/New_York Yes 6 5 No
我不知道如何从 pytz 获取这些信息。
【问题讨论】:
-
与夏令时无关的 utc 偏移量变化怎么办?
-
我不知道有这样的事情。您的意思是像不时重新定义时区一样吗?我只对定期的、每年两次的 UTC 偏移量变化感兴趣。是否有任何非 DST 引起的定期、一年两次的偏移变化?
-
我的意思是由于政治决定而发生的变化。它们是不规则的。
-
不,我不关心由于政治决定而导致的不规则变化。对于我需要的东西,我只关心将来会发生的变化并且与 DST 严格相关。因此,如果一个时区用于观察 DST 但现在不再这样做,我希望 DST=No.
-
我创建了一个可行的解决方案。在 7 月创建一个日期,在 12 月创建一个。对于给定的时区,查看两个日期的 UTC 偏移量是否不同。如果是这样,则该时区遵守 DST。我知道偏移量是多少,但不知道七月是否是 DST(想想澳大利亚)。