Python时区 - pytz.common_timezones数量过多
在pytz这个库的常用时区列表中,有太多重复的时区了。有没有人把这些重复的时区整理过?比如说,加拿大的时区就有5到6个重复的,而美国的时区大约有15个重复的。中国只有一个时区,而且没有夏令时,但却有5个条目。这里说的重复是指它们的GMT偏移量和夏令时设置完全相同。
如果把pytz.country_timezones['us']里的时区去掉,就能去掉重复的美国时区,因为它只包含了America/*的时区,而不包括基础的US/*时区。不过,这个方法对其他国家就不管用了。
2 个回答
1
这里有一个不再使用的时区列表:
https://github.com/stub42/pytz/blob/a11229c46f79ed377ff8e1006ccb98b1b38c4ad0/tz/backward
不过,看起来这个列表里缺少了一些重复的时区。
在 pytz.common_timezones
中,有十三个时区是从那个列表中不再使用的:
[
'Canada/Atlantic',
'Canada/Central',
'Canada/Eastern',
'Canada/Mountain',
'Canada/Newfoundland',
'Canada/Pacific',
'US/Alaska',
'US/Arizona',
'US/Central',
'US/Eastern',
'US/Hawaii',
'US/Mountain',
'US/Pacific',
]
2
我觉得这个主意不好。在澳大利亚,墨尔本和悉尼通常是同一个时区,但夏令时(DST)开始和结束的时间是由两个不同的机构来决定的。
几年前,墨尔本举办了英联邦运动会,他们为了方便,特意在那一年调整了夏令时的时间。我记得悉尼好像也为了避免混淆而做了调整,但他们的决定是和墨尔本分开做的。