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

Python解析特定格式日期时间字符串遇ParserError问题求助

解决dateutil.parser解析带时区描述的日期字符串失败问题

问题重现

执行以下代码解析日期时间字符串时触发ParserError:

from dateutil import parser as date_parser

print(date_parser.parse("Fri Dec 01 2023 00:00:00 GMT +0530 (India Standard Time)"))

错误输出:

raise ParserError("Unknown string format: %s", timestr)

dateutil.parser._parser.ParserError: Unknown string format: Fri Dec 01 2023 00:00:00 GMT +0530 (India Standard Time)

解决方案

方法1:预处理字符串移除冗余内容

dateutil.parser无法识别字符串中的GMT和括号内的时区描述文本,先清理这些冗余内容再解析:

from dateutil import parser as date_parser

raw_dt_str = "Fri Dec 01 2023 00:00:00 GMT +0530 (India Standard Time)"
# 移除"GMT "前缀,截断括号及之后的内容
cleaned_dt_str = raw_dt_str.replace("GMT ", "").split(" (")[0]
parsed_dt = date_parser.parse(cleaned_dt_str)
print(parsed_dt)
# 输出:2023-12-01 00:00:00+05:30

方法2:使用datetime.strptime指定精确格式

如果日期字符串格式固定,直接用datetime模块的strptime匹配精确格式,无需依赖dateutil:

from datetime import datetime

raw_dt_str = "Fri Dec 01 2023 00:00:00 GMT +0530 (India Standard Time)"
# 定义与字符串完全匹配的格式模板
dt_format = "%a %b %d %Y %H:%M:%S GMT %z (%Z)"
parsed_dt = datetime.strptime(raw_dt_str, dt_format)
print(parsed_dt)
# 输出:2023-12-01 00:00:00+05:30

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:00:08