Преобразовать строку даты и времени с местным часовым поясом в ISO 8601 - PullRequest
1 голос
/ 01 мая 2020

Я пытаюсь преобразовать столбец DATETIME из базы данных Oracle в строку ISO 8601, выполнив следующие действия:

from datetime import datetime

created_date_string = str(record.value['CREATION_DATE_UTC'])
created_date = datetime.strptime(created_date_string, "%a %b %d %H:%M:%S %Z %Y")
created_date_iso = created_date.isoformat()

Значение created_date_string равно "Mon Sep 09 06:25:18 EDT 2019". При запуске этого кода я получаю следующее исключение:

ValueError: time data 'Mon Sep 09 06:25:18 EDT 2019' does not match format '%a %b %d %H:%M:%S %Z %Y'

Если я удаляю часовой пояс «EDT» из исходной строки и удаляю «% Z» из формата, он работает нормально. Как я могу создать строку ISO, которая будет хранить информацию о часовом поясе? У меня нет контроля над форматом формата даты из системы Oracle. Строка ISO должна быть сгенерирована для вставки в индекс Elasticsearch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...