Как конвертировать строку в дату?
Пытаюсь конвертировать дату:
Wed, 06 Jan 2021 12:56:00 +0200
В дату python однако получаю ошибку.
re.error: redefinition of group name 'b' as group 8; was group 3 at position 211
Код
date_time_str = 'Wed, 06 Jan 2021 12:56:00 +0200'
date_time_obj = datetime.strptime(date_time_str, '%a,/%m %b /%y %H:%M:%S %z')
Подскажите, как конвертировать такой формат даты?
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Вы указали неправильный формат.
Попробуйте так:
In [106]: datetime.strptime('Wed, 06 Jan 2021 12:56:00 +0200', '%a, %d %b %Y %H:%M:%S %z')
Out[106]: datetime.datetime(2021, 1, 6, 12, 56, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200)))
Общий тактический совет - если не уверены как правильно задать весь формат целиком, делайте это пошагово - так легче локализировать ошибку:
In [107]: datetime.strptime('Wed, 06 Jan', '%a, %d %b')
Out[107]: datetime.datetime(1900, 1, 6, 0, 0)
In [108]: datetime.strptime('Wed, 06 Jan 2021 12:56:00', '%a, %d %b %Y %H:%M:%S')
Out[108]: datetime.datetime(2021, 1, 6, 12, 56)
In [109]: datetime.strptime('Wed, 06 Jan 2021 12:56:00 +0200', '%a, %d %b %Y %H:%M:%S %z')
Out[109]: datetime.datetime(2021, 1, 6, 12, 56, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200)))
Автор решения: Klim
→ Ссылка
Внимательнее с символами формата, подробнее тут
from datetime import datetime
print(datetime.strptime('Wed, 06 Jan 2021 12:56:00 +0200', '%a, %d %b %Y %H:%M:%S %z'))