【问题标题】:Convert local time to utc in python [duplicate]在python中将本地时间转换为UTC [重复]
【发布时间】:2014-03-01 00:12:40
【问题描述】:

我正在尝试以下方法:

import datetime
from pytz import timezone

date = datetime.datetime(2011,01,01) # this is in UTC time
tz = timezone('US/Pacific')

然后我如何将此日期时间转换为美国/太平洋等效时间?

【问题讨论】:

    标签: python datetime


    【解决方案1】:

    以前有人问过,但是你可以在这里找到它 -

    http://www.saltycrane.com/blog/2009/05/converting-time-zones-datetime-objects-python/

    如果您知道要更改的时差,可以执行以下操作 -

    例如- 您的时区与 UTC 相差 2 小时

    from datetime import datetime, timedelta
    
    current_utc = datetime.utcnow()
    my_timezone = current_utc + timedelta(hours=2)
    

    【讨论】:

    • 输入是本地时间,而不是UTC时间。如果您知道给定本地时间的 utc 偏移量,则将本地时间转换为 utc:utc_time = local_time - utc_offset
    【解决方案2】:

    您可以将tzinfo 参数提供给datetime 函数:

    tz = timezone('US/Pacific')
    date = datetime.datetime(2011, 01, 01, tzinfo=tz)
    

    或将现有的日期时间对象转换为另一个时区:

    date_pacific = date.astimezone(timezone('US/Pacific'))
    

    【讨论】:

    • -1:不正确。如果时区有多个 UTC 偏移量(同一地点,不同时间),请不要将 pytz 时区传递给 datetime() 构造函数。 Use tz.localize() instead.
    • 美国/太平洋时区
    猜你喜欢
    • 2018-10-30
    • 2014-01-12
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多