Я пытаюсь разобрать строку '10 / 23/2019 18:02:05 EST 'в дату и время с часовым поясом, используя Python 3.7.
Код:
from datetime import datetime
timestamp = datetime.strptime(date_str, '%m/%d/%Y %I:%M:%S %p %Z')
Ошибка:
ValueError: time data '10/23/2019 6:02:05 PM EST' does not match format '%m/%d/%Y %I:%M:%S %p %Z'
Когда я создаю дату и время и выводю его, используя то же форматирование, я получаю правильный вывод. Единственное отличие состоит в том, что перед часом стоит 0, но добавление 0 перед цифрой 6 в строке даты приводит к той же ошибке.
Мое текущее решение состоит в том, чтобы проанализировать дату и время без часового пояса. а затем локализовать его, но это не идеально.
date_lst = date.split()
date_str = ' '.join(date_lst[0:3])
timestamp = datetime.strptime(date_str, '%m/%d/%Y %I:%M:%S %p')
new_tz = pytz.timezone(date_lst[3])
timestamp_tz = new_tz.localize(timestamp)```