1

虽然使用'dateutil parser'甚至通过python中的'moment parser'解析日期dd / mm / yyyy,例如04/05/2019,它反映了这个05/04/2019,即它需要一个月作为日期,反之亦然. 而如果我在大于 12 的日期尝试相同的操作会给出正确的输出,有什么解决方案吗?

import moment
print(moment.date('05/04/2019')) //date:05 month:04 year:2019

输出:2019-05-04T00:00:00+05.50 //将日期视为月份,反之亦然,这是错误的。

但如果我试试这个

import moment
print(moment.date('13/04/2019')) //date:12 month:04 year:2019

输出:2019-04-13T00:00:00+05.50

4

2 回答 2

1

您必须指定日期的格式:

moment.date("13/04/2019", "%d-%m-%Y")

否则库将使用默认格式,显然因为只有 12 个月,任何大于该数字的数字都将被视为日或年。

请查看文档 https://github.com/zachwill/moment

于 2020-01-10T09:49:21.887 回答
1

利用dayfirst=True

前任:

from dateutil.parser import parse 

print(parse('05/04/2019',dayfirst=True))
# --> 2019-04-05 00:00:00
于 2020-01-10T09:45:35.513 回答