将 2021-01-18T11:18:10.833876+00:00 转换为日期时间 python

Rek*_*a R 2 python datetime date datetime-format python-datetime

我正在尝试将以下字符串转换为 python 中的日期时间。参考datetime.strptime(\xe2\x80\x982017-01-12T14:12:06.000-0500\xe2\x80\x99,'%Y-%m-%dT%H:%M:%S.%f %Z')我正在尝试下面提到的格式。

\n
config_current_ts = datetime.strptime(internal_config["timestamp_str"], "%Y:%m:%dT%H:%M:%S.%f%z")\n
Run Code Online (Sandbox Code Playgroud)\n

但我收到一条错误消息:

\n
\n

ValueError: 时间数据 \'2021-01-18T11:18:10.833876+00:00\' 与格式\n不匹配 \'%Y:%m:%dT%H:%M:%S.%f%z\ '

\n
\n

我使用的是python3.7.4。有人可以告诉我如何将其转换为日期时间吗?我想基本上比较字符串和当前时间,看看哪个在前面。

\n

MrF*_*pes 6

对于 Python 3.7+,使用fromisoformat- 因为您有 ISO 8601 格式,所以它是合适的,而且好处也更高效。前任:

from datetime import datetime
s = '2021-01-18T11:18:10.833876+00:00'
dt = datetime.fromisoformat(s)

print(dt)
# 2021-01-18 11:18:10.833876+00:00
print(repr(dt))
# datetime.datetime(2021, 1, 18, 11, 18, 10, 833876, tzinfo=datetime.timezone.utc)
Run Code Online (Sandbox Code Playgroud)