gpt4 book ai didi

python - 使 dateutil 解析器引发不明确日期的错误

转载 作者:太空狗 更新时间:2023-10-30 01:02:16 25 4
gpt4 key购买 nike

dateutil.parser用于解析给定的字符串并将其转换为 datetime.datetime 对象。它通过允许 dayfirst and yearfirst parameters 来处理不明确的日期,例如“2-5-2013”为某种格式提供先例。

如果遇到不明确的日期,是否可以让解析器引发错误?我想这需要修改 parser.py 行附近的源代码( 675 )/693/696 ,但如果有一种方法不需要逐字编辑源代码,而只涉及重新定义某些函数,那也很好。

当前行为:

>>> from dateutil import parser
>>> parser.parse("02-03-2013")
datetime.datetime(2013, 2, 3, 0, 0)

期望的行为:

>>> from dateutil import parser
>>> parser.parse("02-03-2013")
Traceback (most recent call last):
..
ValueError: The date was ambiguous...<some text>

最佳答案

最好的方法可能是编写一个方法来检查 3 种不同的不明确情况是否相等:

from dateutil import parser

def parse(string, agnostic=True, **kwargs):
if agnostic or parser.parse(string, **kwargs) == parser.parse(string, yearfirst=True, **kwargs) == parser.parse(string, dayfirst=True, **kwargs):
return parser.parse(string, **kwargs)
else:
raise ValueError("The date was ambiguous: %s" % string)

关于python - 使 dateutil 解析器引发不明确日期的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com