You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复datetime.strptime时区偏移格式不匹配的ValueError?

问题解决:Python datetime.strptime匹配单小时时区偏移

你的问题确实出在时区偏移部分:

  • %z格式符要求时区偏移必须是±HHMM或±HH:MM格式(例如-0400或-04:00),但你的字符串里是-4这种仅单小时数的简化格式,所以直接用%z会匹配失败。

给你两种可行的修改方案:

方案一:手动补全时区格式

先把字符串中的-4补全为符合%z要求的-0400,再用原格式解析:

from datetime import datetime

d = '2024-04-04 12:00:00.123-4'
# 拆分字符串,补全市区为两位小时+00分钟
if '-' in d:
    main_part, tz_hour = d.rsplit('-', 1)
    if tz_hour.isdigit():
        d = f"{main_part}-{tz_hour.zfill(2)}00"

date = datetime.strptime(d, '%Y-%m-%d %H:%M:%S.%f%z')
print(date)

方案二:使用dateutil自动解析

第三方库python-dateutil的解析器支持这种简化时区格式,无需手动处理:

  1. 先安装库:
pip install python-dateutil
  1. 代码实现:
from dateutil import parser

d = '2024-04-04 12:00:00.123-4'
date = parser.parse(d)
print(date)

内容的提问来源于stack exchange,提问作者Anna Ortega

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:13:24