我正在尝试从格式如下 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'
我认为偏移量是问题所在。我如何修复我的格式代码以匹配字符串?
更正代码:
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 (删除开头的符号)。