python dateutil.parser 总是将错误的年份返回为 2021 年?

时间:2021-03-21 15:59:41

标签: python python-dateutil

print(dateutil.__version__)

# shows 2.8.1

from dateutil.parser import parse

print(parse('September 29,2019'))
# datetime.datetime(2021, 9, 29, 0, 0),  SHOULD BE '2019' for the year.

Python 3.8,WIN10 尝试不同的笔记本电脑,结果相同。详情请参阅随附的屏幕副本。

https://i.stack.imgur.com/U6cVj.png

1 个答案:

答案 0 :(得分:0)

基本问题是您作为参数给出的日期不完全采用预期格式之一。您需要先清理输入,然后再将其提供给解析器。

这是问题的一个简单示例:

from dateutil.parser import parse

print(parse('September 29,2019'))
print(parse('September 29, 2019'))

输出:

2021-09-29 00:00:00
2019-09-29 00:00:00

有关输入要求,请参阅包文档。如果您的程序输入不符合这些要求,则需要对数据进行预处理。在这种情况下,只需插入所需的空格即可解决问题。