使用dateTime.strptime()在python中使用dateTime.strptime()解析字符串时的错误

发布于 2025-02-12 20:51:18 字数 1041 浏览 1 评论 0原文

我正在尝试将字符串作为日期时间解析,将其作为新时区(CEST UTC+02)放置并返回,但是我会收到此错误:

> ValueError: time data '2022-07-04T03:15:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'

示例输入:

2022-07-04T03:15:00Z
2022-07-04T12:40:20Z
2022-07-04T11:56:08Z

示例输出:

2022-07-04T05:15:00+02:00
2022-07-04T14:40:20+02:00
2022-07-04T13:56:08+02:00

代码:

from datetime import timedelta, datetime

str = "2022-07-04T03:15:00Z"
str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.%f%z') + timedelta(hours=2)).isoformat()
print(str)

我也尝试过:

str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.000%z') + timedelta(hours=2)).isoformat()

::

str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.%fz') + timedelta(hours=2)).isoformat()

this this

I'm trying to parse a string as a datetime, put it as a new timezone (CEST UTC+02) and return it, but I get this error:

> ValueError: time data '2022-07-04T03:15:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'

Example input:

2022-07-04T03:15:00Z
2022-07-04T12:40:20Z
2022-07-04T11:56:08Z

Example output:

2022-07-04T05:15:00+02:00
2022-07-04T14:40:20+02:00
2022-07-04T13:56:08+02:00

Code:

from datetime import timedelta, datetime

str = "2022-07-04T03:15:00Z"
str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.%f%z') + timedelta(hours=2)).isoformat()
print(str)

I also tried:

str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.000%z') + timedelta(hours=2)).isoformat()

and:

str = (datetime.strptime(str, '%Y-%m-%dT%H:%M:%S.%fz') + timedelta(hours=2)).isoformat()

as suggested by this and by this:

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

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

发布评论

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

评论(1

嗫嚅 2025-02-19 20:51:19

您的格式不正确,请删除。 f ,您没有微秒:

from datetime import timedelta, datetime

s = "2022-07-04T03:15:00Z"
s = (datetime.strptime(s, '%Y-%m-%dT%H:%M:%S%z') + timedelta(hours=2)).isoformat()
print(s)

输出: 2022-07-04T05:15:00+00:00

Your format is incorrect, remove the .%f, you have no microseconds:

from datetime import timedelta, datetime

s = "2022-07-04T03:15:00Z"
s = (datetime.strptime(s, '%Y-%m-%dT%H:%M:%S%z') + timedelta(hours=2)).isoformat()
print(s)

Output: 2022-07-04T05:15:00+00:00

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