如何使用strtime解析str(my_datetime)?

vmpqdwk3  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(411)

这是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
pw136qt2

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期中提供。

相关问题