Использование шаблона '% z' для datetime.strptime()
У меня есть строковый текст, который представляет дату, и я отлично разбираюсь в нем и преобразую его в чистый объект datetime:
date = "[24/Aug/2014:17:57:26"
dt = datetime.strptime(date, "[%d/%b/%Y:%H:%M:%S")
За исключением того, что я не могу поймать всю строку даты с часовым поясом, используя шаблон% z, как указано здесь
date_tz = 24/Aug/2014:17:57:26 +0200
dt = datetime.strptime(date, "[%d/%b/%Y:%H:%M:%S %z]")
>>> ValueError: 'z' is a bad directive in format '[%d/%b/%Y:%H:%M:%S %z]'
Потому что этот отчет об ошибках говорит
strftime() реализовано на платформу
Я точно знаю, что такой проблемы нет с наивной директивой tzinfo '% Z'
Обходной путь: литье строки tzinfo в объект tzinfo
Я могу отлично сделать следующее обходное решение, преобразуя строку формата времени GST в объект tzinfo [как предлагается здесь] [4], используя dateutil модуль а затем вставьте tzinfo в объект datetime
Вопрос: Сделать% z доступным для моей формы?
Но поскольку мне, очевидно, понадобится шаблон% z для дальнейшего проекта, я бы хотел найти решение, чтобы избежать этого обходного пути и использовать внешний модуль для этой простой задачи. Можете ли вы предложить мне кое-что прочитать? Я предположил, что более новая версия python (я на 2,7) может справиться с этим, но я бы предпочел не менять мою версию сейчас для этой небольшой, но важной детали.
[EDIT]
Хорошо, увидев комментарии, я переформулировал свой вопрос о том, как анализировать индикатор часового пояса электронной почты, используя strptime(), не зная времени локали?