日期解析器解决方案 python

date parser solution python

在使用 '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

使用dayfirst=True

例如:

from dateutil.parser import parse 

print(parse('05/04/2019',dayfirst=True))
# --> 2019-04-05 00:00:00

您必须指定日期格式:

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

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

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