Я использую Python3.6 datetime.datetime.strptime
для анализа различных значений входных дат на основе предоставленного формата.
Ниже приведен код, который я использую.
def date_convert(dt, fmt):
outdict = {'result': '', 'error': ''}
try:
outdict['result'] = datetime.strptime(dt, fmt)
except Exception:
outdict['error'] = 'Invalid input date value, expected format is ' + fmt
Я столкнулся с двумя проблемами с вышеуказанным кодом
date_convert('181223', '%Y%m%d')
Date_Field
2018-23-04
2018-14-04
03-17-18
12-29-17
25-Mar-2018
29-Jan-2018
Спасибо,
Рагхунат.
Попробуйте использовать модуль dateutil.
Демо - версия:
from dateutil import parser
d = ['2018-23-04', '2018-14-04', '03-17-18', '12-29-17', '25-Mar-2018', '29-Jan-2018']
for i in d:
print( parser.parse(i, dayfirst=True))
или dateparser
Демо - версия:
import dateparser
d = ['2018-23-04', '2018-14-04', '03-17-18', '12-29-17', '25-Mar-2018', '29-Jan-2018']
for i in d:
print( dateparser.parse(i))
Выход:
2018-04-23 00:00:00
2018-04-14 00:00:00
2018-03-17 00:00:00
2017-12-29 00:00:00
2018-03-25 00:00:00
2018-01-29 00:00:00
dateparser
должен работать для этого.