如何解决日期时间格式错误"time data %r does not match format %r"?
How to solve datetime format error "time data %r does not match format %r"?
我正在尝试将日期从字符串格式转换为日期时间格式。我认为我使用了正确的格式,但错误仍然存在。
代码示例:
from datetime import datetime, timedelta
format = "%Y-%m-%dT%H:%M:%S.000Z"
inctime='2022-03-21T19:55:23.577Z'
time=datetime.strptime(inctime,formato2)
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user1\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\user1\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2022-03-21T19:55:23.577Z' does not match format '%Y-%m-%dT%H:%M:%S.000Z'
我认为这应该可行。
from datetime import datetime, timedelta
format_data = "%Y-%m-%dT%H:%M:%S.%fZ"
inctime='2022-03-21T19:55:23.577Z'
time=datetime.strptime(inctime,format_data)
print(time)
输出:
2022-03-21 19:55:23.577000
您的代码没有正确读取微秒。您可以使用 %f
读取微秒
尝试使用此代码,这将解决问题:
from datetime import datetime, timedelta
inctime='2022-03-21T19:55:23.577Z'
format = "%Y-%m-%dT%H:%M:%S.%fZ"
time = datetime.strptime(inctime,format)
我正在尝试将日期从字符串格式转换为日期时间格式。我认为我使用了正确的格式,但错误仍然存在。
代码示例:
from datetime import datetime, timedelta
format = "%Y-%m-%dT%H:%M:%S.000Z"
inctime='2022-03-21T19:55:23.577Z'
time=datetime.strptime(inctime,formato2)
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user1\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\user1\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2022-03-21T19:55:23.577Z' does not match format '%Y-%m-%dT%H:%M:%S.000Z'
我认为这应该可行。
from datetime import datetime, timedelta
format_data = "%Y-%m-%dT%H:%M:%S.%fZ"
inctime='2022-03-21T19:55:23.577Z'
time=datetime.strptime(inctime,format_data)
print(time)
输出:
2022-03-21 19:55:23.577000
您的代码没有正确读取微秒。您可以使用 %f
尝试使用此代码,这将解决问题:
from datetime import datetime, timedelta
inctime='2022-03-21T19:55:23.577Z'
format = "%Y-%m-%dT%H:%M:%S.%fZ"
time = datetime.strptime(inctime,format)