Парсер dateutil
отлично справляется с правильным угадыванием даты и времени из самых разных источников.
Мы обрабатываем файлы, в которых каждый файл использует только один формат даты/времени, но формат зависит от файлов. Профилирование показывает, что много времени используется dateutil.parser.parse
. Так как это нужно только определить один раз в файл, реализуя то, что не угадывает формат, каждый раз может ускорить работу.
Я не знаю заранее форматов, и мне все равно нужно вывести формат. Что-то вроде:
from MysteryPackage import date_string_to_format_string
import datetime
# e.g. mystring = '1 Jan 2016'
myformat = None
...
# somewhere in a loop reading from a file or connection:
if myformat is None:
myformat = date_string_to_format_string(mystring)
# do the usual checks to see if that worked, then:
mydatetime = datetime.strptime(mystring, myformat)
Есть ли такая функция?