Директива Python для часового пояса "% 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) может справиться с этим, но я бы предпочел не менять свою версию сейчас для этой маленькой, но важной детали.
[РЕДАКТИРОВАТЬ]Что ж, увидев комментарии, я переформулировал мой вопрос о том, как анализировать индикатор часового пояса в электронной почте с помощью strptime (), не зная времени локали?