【问题标题】:pytz adding extra minutespytz 增加额外的时间
【发布时间】:2020-09-30 14:52:18
【问题描述】:

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

【问题讨论】:

    标签: datetime timezone pytz


    【解决方案1】:

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

    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 分钟偏移)

    【讨论】:

      猜你喜欢
      • 2019-09-15
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 2016-06-20
      • 2011-01-01
      • 1970-01-01
      相关资源
      最近更新 更多