Ответ 1
Использование dateutil:
import dateutil.parser as parser
text = 'Thu, 16 Dec 2010 12:14:05 +0000'
date = parser.parse(text)
print(date.isoformat())
# 2010-12-16T12:14:05+00:00
В Python, как я могу преобразовать строку следующим образом:
Thu, 16 Дек. 2010 12:14:05 +0000
в соответствии с ISO 8601, сохраняя часовой пояс?
Обратите внимание, что исходная дата - это строка, а вывод также должен быть строкой, а не datetime
или что-то в этом роде.
У меня нет проблем с использованием сторонних библиотек.
Использование dateutil:
import dateutil.parser as parser
text = 'Thu, 16 Dec 2010 12:14:05 +0000'
date = parser.parse(text)
print(date.isoformat())
# 2010-12-16T12:14:05+00:00
Встроенный Python datetime в пакете встроен метод преобразования объекта datetime в isoformat. Вот пример:
>>>from datetime import datetime
>>>date = datetime.strptime('Thu, 16 Dec 2010 12:14:05', '%a, %d %b %Y %H:%M:%S')
>>>date.isoformat()
вывод
'2010-12-16T12:14:05'