这是datetime的默认字符串表示形式:
>>> from datetime import datetime, timezone
>>> dt = datetime(2017, 1, 1, tzinfo=timezone.utc)
>>> print(dt)
2017-01-01 00:00:00+00:00
正确的格式字符串是什么 datetime.strptime
? 也就是说,用什么格式代替“?”,以始终具有以下不变量:
>>> dt == datetime.strptime(str(dt), "???")
True
1条答案
按热度按时间pw136qt21#
注意
str(d)
记录为等同于d.isoformat(' ')
. 这始于%Y-%m-%d %H:%M:%S
(2017-01-01 00:00:00
),但是:要么什么都没有,要么
.%f
,这取决于微秒部分是否为非零。要么什么都没有,要么像
+HH:MM
,这取决于示例是否支持时区。datetime.strptime
不支持可选部件,因此没有单个format
可以匹配所有可能输出的参数。在python 3.7+中,可以使用
datetime.fromisoformat
解析datetime.isoformat
输出。由paul Gansle在15873期中提供。