Думаю, проблема в используемой локали.Также проверьте форматирование.
import locale
locale.setlocale(locale.LC_ALL,'es_ES.UTF-8')
from datetime import datetime as dt
datetime_object = dt.strptime('20100812', '%Y%m%d')
datetime_object
Вывод:
datetime.datetime(2010, 8, 12, 0, 0)
Дайте мне знать, если это решит вашу проблему.
Попробовал еще несколькопримеры.
# read a spanish datetime format
datetime_object = dt.strptime('martes 12 julio 2016', '%A %d %B %Y')
print(datetime_object.strftime("%B"))
print(datetime_object)
# Change the locale to swede and print the month
locale.setlocale(locale.LC_TIME, "sv_SE")
print(datetime_object.strftime("%B"))
Вывод:
julio
2016-07-12 00:00:00
Juli
Отредактировано для включения нужных вам конкретных сведений:
import locale
locale.setlocale(locale.LC_ALL,'es_ES.UTF-8')
from datetime import datetime as dt
datetime_object = dt.strptime('ago122010', '%b%d%Y')
locale.setlocale(locale.LC_ALL,'en_US.UTF-8')
print(datetime_object.strftime("%Y-%m-%d"))
Вывод
2010-08-12