ValueError: 'z' is a bad directive in format...
(примечание: я должен придерживаться python 2.7 в моем случае)
У меня была аналогичная проблема, анализирующая даты фиксации с выхода из git log --date=iso8601
который фактически не является форматом ISO8601 (следовательно, добавление --date=iso8601-strict
в более позднюю версию).
Поскольку я использую django
, я могу использовать утилиты там.
https://github.com/django/django/blob/master/django/utils/dateparse.py
>>> from django.utils.dateparse import parse_datetime
>>> parse_datetime('2013-07-23T15:10:59.342107+01:00')
datetime.datetime(2013, 7, 23, 15, 10, 59, 342107, tzinfo=+0100)
Вместо strptime
вы можете использовать свои собственные регулярное выражение.