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
相关产品推荐
相关产品推荐

