pytz 增加额外的分钟数

pytz adding extra minutes

US/Mountain 和 AZ 时区有什么区别。为什么要额外添加 28 分钟?

>>> strtime = datetime.datetime.strptime('10:00pm', '%I:%M%p')
>>> tz = timezone('US/Mountain').localize(strtime)
>>> print tz
1900-01-01 22:00:00-07:00
>>> tz = timezone(us.states.lookup('AZ').capital_tz).localize(strtime)
>>> print tz
1900-01-01 22:00:00-07:28 <<-----

这很可能是因为您的年份是 1900 年(另请参阅 问题);如果您添加当前年份,它会正常工作:

import datetime
from pytz import timezone
import us

strtime = datetime.datetime.strptime('2020 10:00pm', '%Y %I:%M%p')
tz = timezone('US/Mountain').localize(strtime)
print(tz)
# 2020-01-01 22:00:00-07:00
tz = timezone(us.states.lookup('AZ').capital_tz).localize(strtime)
print(tz)
# 2020-01-01 22:00:00-07:00

(我正在使用 Python3 但这应该没有什么区别,我得到了 1900 年相同的 28 分钟偏移量)