ValueError: данные времени не соответствуют формату при разборе даты - PullRequest
0 голосов
/ 14 февраля 2019

Когда я пытаюсь проанализировать строку для даты и времени, я делаю это (предварительно импортировав дату и время):

fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%y %H:%M')

Однако я получаю эту ошибку

ValueError:данные времени '22/01/2019 17:00' не соответствуют формату '% d /% m /% y% H:% M'

кто-нибудь знает почему?

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Вам необходимо использовать заглавную букву Y для четырехзначного года (строчные буквы y для двухзначного года, например 19).Итак:

>>> fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%Y %H:%M')
>>> fecha_2
datetime.datetime(2019, 1, 22, 17, 0)

Документы strptime

0 голосов
/ 14 февраля 2019

Выше приведено правильно.Однако, чтобы избежать ошибок такого рода, вы можете использовать dateutil.parser, который может автоматически угадать правильную строку формата.Вы можете установить его, выполнив pip install python-dateutil

>>> from dateutil import parser
>>> parser.parse("2018-06-19 11:21:13.311")
datetime.datetime(2018, 6, 19, 11, 21, 13, 311000)
0 голосов
/ 14 февраля 2019

y должен быть написан заглавными буквами.На это есть ссылки в документации по Python, найденной здесь

Это прекрасно работает

fecha_2 = datetime.strptime('22/01/2019 17:00', '%d/%m/%Y %H:%M')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...