8
是否可以通過pytz獲得給定時區的DST邊界?獲取python中給定時區的DST邊界
是否可以通過pytz獲得給定時區的DST邊界?獲取python中給定時區的DST邊界
它似乎沒有正式支持。但是,您可以在DstTzInfo
對象內部從那裏戳,並得到它:
>>> from pytz import timezone
>>> tz = timezone('Europe/London')
>>> tz._utc_transition_times
[datetime.datetime(1, 1, 1, 0, 0), datetime.datetime(1916, 5, 21, 2, 0),
...
datetime.datetime(2036, 3, 30, 1, 0), datetime.datetime(2036, 10, 26, 1, 0),
datetime.datetime(2037, 3, 29, 1, 0), datetime.datetime(2037, 10, 25, 1, 0)]
每個條目對應於_transition_info
的條目:
>>> tz._transition_info
[(datetime.timedelta(0), datetime.timedelta(0), 'GMT'),
(datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), 'BST'),
...
(datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), 'BST'),
(datetime.timedelta(0), datetime.timedelta(0), 'GMT'),
(datetime.timedelta(0, 3600), datetime.timedelta(0, 3600), 'BST'),
(datetime.timedelta(0), datetime.timedelta(0), 'GMT')]
和源告訴我們,這些意味着什麼:
_utc_transition_times = None # Sorted list of DST transition times in UTC
_transition_info = None # [(utcoffset, dstoffset, tzname)] corresponding
# to _utc_transition_times entries
當然,這是依賴於實現的,您可能想要依賴已知工作的特定版本的pytz。
不確定你最後一句話的含義。 Pytz的修改與其他任何東西一樣,但是/它們實際上有不同的實現嗎? –
誰知道?您正在訪問以下劃線開頭的字段,該字段不是記錄的API的一部分。 Pytz作者可能隨時改變它。 – Thomas