【发布时间】: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
我有一个这样的时区感知字符串,并希望将其转换为 utc 时区。我用的是python 3.4版本
我的字符串是这样的 -
2018-05-04T05:22:52.3272611-04:00
我无法获得有关将给定日期时间转换为 utc 的太多信息。
【问题讨论】:
标签: python-3.x python-datetime python-dateutil
这看起来像一个 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。
【讨论】: