我正在寻找一种确定我正在研究的Python脚本中DST何时开始或结束给定时区的方法。
I'm looking for a method of determining when DST starts or ends for a given timezone in a Python script I'm working on.
我知道 pytz 可以将我正在工作的UTC日期转换为本地时间,并将考虑DST,但是对于此特定应用程序,我需要知道这一点转换。
I know pytz can convert the UTC dates I'm working into localtime, and will take DST into account, however for this particular application I need to know the point of the changeover.
有什么建议吗?
推荐答案您可以看看 _utc_transition_times 您正在使用的时区的成员。
You could have a look to the _utc_transition_times memberof the timezone you're using.
>>> from pytz import timezone >>> tz = timezone("Europe/Paris") >>> print tz._utc_transition_times [datetime.datetime(1, 1, 1, 0, 0), datetime.datetime(1911, 3, 10, 23, 51, 39), datetime.datetime(1916, 6, 14, 23, 0), datetime.datetime(1916, 10, 1, 23, 0), date .... datetime.datetime(2037, 3, 29, 1, 0), datetime.datetime(2037, 10, 25, 1, 0)]您是DST更改日期(DST的开始和结束)的列表。
It will give you the list of the DST change dates (start and end of DST).
根据tzinfo.py的代码
According to the code of tzinfo.py
class DstTzInfo(BaseTzInfo): '''A timezone that has a variable offset from UTC The offset might change if daylight savings time comes into effect, or at a point in history when the region decides to change their timezone definition. ''' # Overridden in subclass _utc_transition_times = None # Sorted list of DST transition times in UTC _transition_info = None # [(utcoffset, dstoffset, tzname)] corresponding # to _utc_transition_times entries因此,如果您混合使用 _utc_transition_times 和 _transition_info ,您将获取所有需要的信息,日期,时间和偏移量;;
So if you mix the _utc_transition_times with _transition_info you will grab all your needed informations, date, time and offset to apply ;)
更多推荐
如何确定DST何时在Python中的特定位置开始或结束?
发布评论