【问题标题】:Pytz Localise on Aware DatetimePytz Localize on Aware Datetime
【发布时间】:2021-02-04 21:43:35
【问题描述】:

我正在尝试使用 pytz 将感知日期时间 (UTC) 转换为本地时间。

我使用的是这个sn-p的代码,导致时间延迟了几分钟

new_timezone = pytz.timezone(local_timezone)
new_datetime = entry[1].replace(tzinfo=timezone.utc).astimezone(tz=new_timezone)

我尝试这样做,但收到一个错误,表明它不是一个简单的日期时间:

local_timezone_pytz.localize(entry[1])

【问题讨论】:

    标签: python datetime pytz


    【解决方案1】:

    使用astimezone,例如:

    import datetime
    import pytz
    
    dt = datetime.datetime.now(datetime.timezone.utc)
    # datetime.datetime(2020, 10, 22, 5, 48, 5, 806183, tzinfo=datetime.timezone.utc)
    
    dt_est = dt.astimezone(pytz.timezone('US/Eastern'))
    # datetime.datetime(2020, 10, 22, 1, 48, 5, 806183, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
    

    请注意,这并非特定于pytz;您还可以提供从dateutil.tz.gettzzoneinfo.ZoneInfoastimezone 的时区对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 2014-08-13
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 2019-06-23
      相关资源
      最近更新 更多