将 2021-01-18T11:18:10.833876+00:00 转换为日期时间 python
convert 2021-01-18T11:18:10.833876+00:00 to datetime python
我正在尝试将以下字符串转换为 python 中的日期时间。参考 后,我正在尝试下面提到的格式。
config_current_ts = datetime.strptime(internal_config["timestamp_str"], "%Y:%m:%dT%H:%M:%S.%f%z")
但我收到一条错误消息:
ValueError: time data '2021-01-18T11:18:10.833876+00:00' does not
match format '%Y:%m:%dT%H:%M:%S.%f%z'
我正在使用 python3.7.4。有人可以告诉我如何将其转换为日期时间吗?我想基本上比较字符串和当前时间,看看哪个在前面。
格式字符串应该是'%Y-%m-%dT%H:%M:%S.%f%z'
>>> from datetime import datetime
>>> d = '2021-01-18T11:18:10.833876+00:00'
>>> datetime.strptime(d, '%Y-%m-%dT%H:%M:%S.%f%z')
datetime.datetime(2021, 1, 18, 11, 18, 10, 833876, tzinfo=datetime.timezone.utc)
对于 Python 3.7+,使用 fromisoformat
- 因为您有 ISO 8601 格式,所以它是合适的并且作为一个好处也 more efficient。例如:
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)
我正在尝试将以下字符串转换为 python 中的日期时间。参考
config_current_ts = datetime.strptime(internal_config["timestamp_str"], "%Y:%m:%dT%H:%M:%S.%f%z")
但我收到一条错误消息:
ValueError: time data '2021-01-18T11:18:10.833876+00:00' does not match format '%Y:%m:%dT%H:%M:%S.%f%z'
我正在使用 python3.7.4。有人可以告诉我如何将其转换为日期时间吗?我想基本上比较字符串和当前时间,看看哪个在前面。
格式字符串应该是'%Y-%m-%dT%H:%M:%S.%f%z'
>>> from datetime import datetime
>>> d = '2021-01-18T11:18:10.833876+00:00'
>>> datetime.strptime(d, '%Y-%m-%dT%H:%M:%S.%f%z')
datetime.datetime(2021, 1, 18, 11, 18, 10, 833876, tzinfo=datetime.timezone.utc)
对于 Python 3.7+,使用 fromisoformat
- 因为您有 ISO 8601 格式,所以它是合适的并且作为一个好处也 more efficient。例如:
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)