US/山地时区和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分钟偏移量)