提问者:小点点

Pytz增加额外分钟


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 <<-----

共1个答案

匿名用户

这很可能是由于您的年份是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分钟偏移量)