ValueError:时间数据与格式“%Y-%m-%d %H:%M:%S.%f-%z”不匹配

问题描述 投票:0回答:1

我正在尝试从格式如下 d 的字符串创建一个日期时间对象:

d = '2024-04-04 12:00:00.123-4'
date = datetime.strptime(d, '%Y-%m-%d %H:%M:%S.%f-%z')

我收到的错误:

ValueError:时间数据“2024-04-04 12:00:00.123-4”与格式“%Y-%m-%d”不匹配 %H:%M:%S.%f-%z'

我认为偏移量是问题所在。我如何修复我的格式代码以匹配字符串?

python datetime
1个回答
0
投票

更正代码:

from datetime import datetime, timedelta

d = '2024-04-04 12:00:00.123-0400'
date = datetime.strptime(d, '%Y-%m-%d %H:%M:%S.%f%z')

输出:

2024-04-04 12:00:00.123000-04:00

此处 %z UTC 偏移量的格式为 ±HHMM[SS[.ffffff]](根据文档)

并且不能将符号与 %z 一起使用,符号必须在字符串中使用。

在您的代码中,我已将 -4 更正为 -0400,相当于 -4 小时 和 -%z -> %z (删除开头的符号)。

© www.soinside.com 2019 - 2024. All rights reserved.