Python: strptime не соответствует формату - PullRequest
1 голос
/ 12 марта 2011

ValueError: данные времени '03 -10-2011 16:35 'не соответствуют формату'% m-% d-% Y% I: M% p '

Похоже, это соответствует мне?

 datetime = datestr + " " + timestr
 date_struct = time.strptime(datetime, "%m-%d-%Y %I:M %p")

Ответы [ 2 ]

8 голосов
/ 12 марта 2011

Вы пропускаете % прямо перед M:

 date_struct = time.strptime(datetime, "%m-%d-%Y %I:%M %p")
4 голосов
/ 12 марта 2011

Эти строки формата даты и времени работают в обоих направлениях, поэтому вы можете легко проверить гипотезы, такие как «похоже, что они совпадают»:

>>> import datetime
>>> fmt = "%m-%d-%Y %I:M %p"
>>> dt = datetime.datetime(2011, 3, 10, 16, 35)
>>> dt.strftime(fmt)
'03-10-2011 04:M PM' # Oops!
>>>
...