我有一个像这样的字符串
2018-04-03 02:59:59+00:00
,我需要使用strptime
将其转换为日期时间。
但是,查看 docs,
%z
(UTC 偏移量)指令是 +HHMM
,但我需要 +HH:MM
。我怎样才能做到这一点?
Python 3.7 添加了解析 RFC 3339 日期和时间的功能。
>>> from datetime import datetime
>>> txt = "2018-04-03 02:59:59+00:00"
>>> fmt = "%Y-%m-%d %H:%M:%S%z"
>>> datetime.strptime(txt, fmt)
datetime.datetime(2018, 4, 3, 2, 59, 59, tzinfo=datetime.timezone.utc)
在3.7+中,您还可以使用更简单的方法:
>>> datetime.fromisoformat(txt)
datetime.datetime(2018, 4, 3, 2, 59, 59, tzinfo=datetime.timezone.utc)
Python datetime.strptime
会解析像
-0600
这样的偏移量,但不能解析
-06:00
。因此,选择以下解决方法之一:
dateutil.parser
代替 strptime