将具有时区的字符串转换为 utc 日期时间对象 python
convert string having timezone into to utc datetime object python
我有一个像这样的时区感知字符串,想将它转换为 utc 时区。我正在使用 python 3.4 版本
我的字符串就像 -
2018-05-04T05:22:52.3272611-04:00
我无法获得很多关于将给定日期时间转换为 utc 的信息。
这看起来像一个 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
。
我有一个像这样的时区感知字符串,想将它转换为 utc 时区。我正在使用 python 3.4 版本
我的字符串就像 -
2018-05-04T05:22:52.3272611-04:00
我无法获得很多关于将给定日期时间转换为 utc 的信息。
这看起来像一个 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
。