代码之家  ›  专栏  ›  技术社区  ›  Anurag Sharma

将具有时区的字符串转换为utc datetime对象python

  •  0
  • Anurag Sharma  · 技术社区  · 7 年前

    我有这样一个时区感知字符串,希望将其转换为UTC时区。我使用的是Python3.4版本

    我的绳子像-

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

    我无法获得将给定日期时间转换为UTC的详细信息。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Paul    7 年前

    这看起来像一个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 如果你不确定格式是什么。