【发布时间】:2021-12-01 15:44:58
【问题描述】:
所以,我使用 dateparser.parse 来提取年、月和日。对于大于 13 的值,它可以正常工作。但是,对于小于 13 的值,它会交换日期和月份。例如,在 DD/MM/YYYY 格式中,如果输入是 1990 年 11 月 13 日,则输出如预期的月份 -> 11 和日 -> 13。但如果输入是 8/9/1990,则输出为月 -> 8 日 -> 9。
dateparser.parse('13/11/1990','d/M/yyyy')
datetime.datetime(1990, 11, 13, 0, 0)
dateparser.parse('8/9/1990','d/M/yyyy')
datetime.datetime(1990, 8, 9, 0, 0)
【问题讨论】:
-
我建议改用dateutil's parser,并设置关键字
dayfirst=True。例如。dateutil.parser.parse('8/9/1990', dayfirst=True)
标签: python python-3.x datetime date-parsing