Так что этот вопрос - лучший способ справиться с такого рода вводом в python.Вот пример ввода даты 2018-12-31 23:59:59.999999
.Миллисекундная часть может быть или не быть частью ввода.
В настоящее время я использую этот код для преобразования его в datetime
input_ts = datetime.datetime.strptime(input_str, '%Y-%m-%dT%H:%M:%S.%f')
Но проблема в этом случае заключается в том, что он выдаст исключение, если входная строка не содержит части в миллисекундах, т.е.2018-12-31 23:59:59
В Java я мог бы подойти к этой проблеме двумя способами.(это псевдо объяснение, без учета мелких пограничных проверок)
(предпочтительный подход).Проверьте длину входной строки.если его меньше чем 19 , то он пропускает миллисекунды.Добавить .000000
к нему.
(не предпочтительно).Позвольте основному коду проанализировать строку, если она выдает исключение, а затем проанализировать ее с новым форматом времени, то есть %Y-%m-%dT%H:%M:%S
Третий подход может состоять в том, чтобы просто отбросить миллисекунды.
Я не уверен, что в python есть что-то встроенное для обработки подобных ситуаций.Есть предложения?