日期超出月份范围:2016 年 2 月 29 日 dateutil - 闰年问题

day is out of range for month: February 29,2016 dateutil - Leap year issue

代码:

from dateutil.parser import parse
dates = parse('February 29,2016').strftime("%Y-%m-%d")
print(dates)

错误:

''' 日期超出月份范围:2016 年 2 月 29 日 '''

这里好像没有考虑闰年。谁能帮我检测 2016 年 2 月 29 日的格式 2016-02-29

库版本: python-dateutil - 2.8.2

它可能不是受支持的日期格式。如果将其更改为 28 日,您会注意到它捕获的年份是当前年份,而不是 2016 年,因此会出现错误。

parse('February 28,2016')

输出

datetime.datetime(2021, 2, 28, 0, 0)

如果你在逗号后面加一个space,就成为支持的格式,解析成功。

parse('February 29, 2016')

输出

datetime.datetime(2016, 2, 29, 0, 0)