Пакет email стандартной библиотеки предоставляет инструменты для анализа RFC5322 форматирования даты и времени.
from email.headerregistry import DateHeader
kwds = {} # This dict is modified in-place
DateHeader.parse('Fri, 27 Mar 2020 12:05:17 +0000 (UTC)', kwds)
kwds['datetime']
datetime.datetime(2020, 3, 27, 12, 5, 17, tzinfo=datetime.timezone.utc)
Хотя DateHeader является современным инструментом для разбора заголовков даты унаследованная * функция email.utils.parsedate_to_datetime проще в использовании
from email.utils import parsedate_to_datetime
parsedate_to_datetime('Fri, 27 Mar 2020 12:05:17 +0000 (UTC)')
datetime.datetime(2020, 3, 27, 12, 5, 17, tzinfo=datetime.timezone.utc)
* В то время как для документов перечислите модуль utils
под устаревшим заголовком API, parsedate_to_datetime используется внутренне на DateHeader
для анализа строк даты и времени, так что он, вероятно, не исчезнет в ближайшее время.