【问题标题】:convert string having timezone into to utc datetime object python将具有时区的字符串转换为UTC日期时间对象python
【发布时间】:2018-11-13 17:11:28
【问题描述】:

我有一个这样的时区感知字符串,并希望将其转换为 utc 时区。我用的是python 3.4版本

我的字符串是这样的 -

2018-05-04T05:22:52.3272611-04:00

我无法获得有关将给定日期时间转换为 utc 的太多信息。

【问题讨论】:

    标签: python-3.x python-datetime python-dateutil


    【解决方案1】:

    这看起来像一个 ISO 8601 字符串(尽管在亚秒组件上具有异常高的精度);如果小数点后有 7 位而不是 6 位是拼写错误,您可以在上面使用dateutil.parser.isoparse

    from dateutil.parser import isoparse
    from dateutil.tz import UTC
    
    dt = isoparse('2018-05-04T05:22:52.327261-04:00')
    dt.astimezone(UTC)
    

    否则您可以使用dateutil.parser.parse,它速度较慢,但​​允许使用更多不寻常的格式:

    from dateutil.parser import parse
    from dateutil.tz import UTC
    
    dt = parse('2018-05-04T05:22:52.3272611-04:00')
    dt.astimezone(UTC)
    

    如果您不确定格式是什么,您也应该使用parse

    【讨论】:

      猜你喜欢
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多