решение парсера дат python - PullRequest
1 голос
/ 10 января 2020

при синтаксическом анализе даты с использованием 'dateutil parser' и даже по 'синтаксическому анализатору моментов' в python для даты дд / мм / гггг, например 04/05/2019, это отражает это 05/04/2019, то есть для этого требуется месяц как дата и наоборот. в то время как если я попробую то же самое для даты, превышающей 12, то получится правильный вывод, какие-либо решения?

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

output: 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

Ответы [ 2 ]

1 голос
/ 10 января 2020

Вы должны указать формат даты:

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

в противном случае библиотека будет использовать формат по умолчанию, очевидно, поскольку существует только 12 месяцев, любое число, превышающее это, будет считаться днем ​​или годом. .

Пожалуйста, проверьте документацию https://github.com/zachwill/moment

1 голос
/ 10 января 2020

Использование dayfirst=True

Пример:

from dateutil.parser import parse 

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