Потеряйте пробелы в передней и задней части вашего формата. Я думал, что было зафиксировано, что время strptime варьируется в зависимости от прихоти того, кто написал среду выполнения C для вашей коробки. Однако, похоже, я не прав. Что означало бы, что в Python есть ошибка.
Python 2.6.4 в Windows не любит лидирующие конечные пробелы; см. ниже.
* х пользователей, что вы найдете?
А пока используйте наименьший общий знаменатель - потеряйте пробелы. У вас также может быть проблема с локалью, как упоминал Адам.
С пробелами:
>>> datetime.datetime.strptime('16-MAR-2010 03:37:04'," %d-%b-%Y %H:%M:%S ")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\python26\lib\_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '16-MAR-2010 03:37:04' does not match format ' %d-%b-%Y %H
:%M:%S '
без пробелов:
>>> datetime.datetime.strptime('16-MAR-2010 03:37:04',"%d-%b-%Y %H:%M:%S")
datetime.datetime(2010, 3, 16, 3, 37, 4)
>>>