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

dateutil解析日期时英美格式识别不一致的问题咨询

dateutil解析日期时英美格式识别不一致的问题咨询

我现在在用dateutil库的fuzzy功能从字符串里提取日期,本来觉得它挺好用的,但仔细检查后发现,它识别日期的时候会在英式和美式格式之间来回切换——也就是搞不清中间的数字是月份(英式)还是日期(美式)。

下面这段代码可以复现这个问题,为了让输出更清晰易读,我把datetime对象转成了date再转成isoformat格式:

from dateutil.parser import parse

def customparse(x):
    return parse(x, fuzzy=True, ignoretz=True).date().isoformat()

a = "Yorkshire Terrier 13-06-2013a.pdf"
b = "09-10-2014-spaniel.pdf"

print(a, "      ", customparse(a))
print(b, "      ", customparse(b))

运行后的输出是:

Yorkshire Terrier 13-06-2013a.pdf        2013-06-13
09-10-2014-spaniel.pdf        2014-09-10

我想要的一直都是英式格式,第一个例子里它识别对了,因为13不可能是月份,一目了然;但到第二个例子,它就自动切换成美式格式了。

有没有大佬知道怎么规范它的行为,让它能保持一致的格式识别呀?

备注:内容来源于stack exchange,提问作者cardamom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 17:50:30