【问题标题】:Convert python timezone aware datetime string to utc time将python时区感知日期时间字符串转换为UTC时间
【发布时间】:2016-07-18 15:32:07
【问题描述】:

我有一个可识别时区的 Python 日期时间字符串,需要将其转换为 UTC 时间戳。

'2016-07-15T10:00:00-06:00'

大多数 SO 链接都讨论了以 UTC 格式获取当前日期时间,但没有讨论将给定的日期时间转换为 UTC。

【问题讨论】:

    标签: python


    【解决方案1】:

    嗨,这有点棘手,但这是我的,可能远非完美的答案:

    [IN]
    import datetime
    import pytz
    date_str = '2016-07-15T10:00:00-06:00'
    # Have to get rid of that bothersome final colon for %z to work
    datetime_object = datetime.datetime.strptime(date_str[:-3] + date_str[-2:], 
    '%Y-%m-%dT%H:%M:%S%z')
    datetime_object.astimezone(pytz.utc)
    [OUT]
    datetime.datetime(2016, 7, 15, 16, 0, tzinfo=<UTC>)
    

    【讨论】:

    • %z 支持并不普遍,请参阅stackoverflow.com/questions/26165659/…。它是一个冒号,而不是一个分号。
    • 公平一点,应该从 3.2 开始实施。不知道op用的是哪个版本!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    相关资源
    最近更新 更多