如何解决日期时间格式错误“时间数据 %r 与格式 %r 不匹配”?

发布于 2025-01-16 15:49:25 字数 795 浏览 1 评论 0原文

我正在尝试将日期从字符串格式转换为日期时间格式。我认为我使用了正确的格式,但仍然出现错误。

代码示例:

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'

I'm trying to convert a date from string format to a datetime format. I think that I'm using the right format, but the error is still raised.

Code example:

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)

Error:

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'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

安人多梦 2025-01-23 15:49:25

您的代码没有正确读取微秒。您可以使用 %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)

Your code wasn't reading the microseconds properly. You can read microseconds with %f

Try using this code, this will fix the issue:

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)
青衫儰鉨ミ守葔 2025-01-23 15:49:25

我认为这应该有效。

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

I think this should work.

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)

The output:

2022-03-21 19:55:23.577000
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文