Страницы

Поиск по вопросам

четверг, 6 февраля 2020 г.

Правильный перевод формата даты

#python #дата


У меня есть строка с датой в таком формате:

Thu, 18 Aug 2016 11:38:41 +0300


Как перевести ее к такому виду YYYY-MM-DD hh:mm:ss ?
    


Ответы

Ответ 1



Начиная с python 3.2: from datetime import datetime # Переводим строку в объект datetime d = datetime.strptime('Thu, 18 Aug 2016 11:38:41 +0300', '%a, %d %b %Y %X %z') # Получаем из объекта строку в нужном формате print(str(d.strftime('%Y-%m-%d %X'))) Для ранних версий можете использовать библиотеку dateutil: pip install python-dateutil Для вывода даты в нужном формате используйте аналогично: from dateutil.parser import parse d = parse('Thu, 18 Aug 2016 11:38:41 +0300') print(str(d.strftime('%Y-%m-%d %X'))) Подробнее о том, какие еще манипуляции с форматом можно делать, читайте внизу этой документации

Ответ 2



Подобный формат даты используется в электронной почте, поэтому можно email модуль из стандартной библиотеки использовать: >>> from email.utils import parsedate >>> tt = parsedate('Thu, 18 Aug 2016 11:38:41 +0300') >>> tt (2016, 8, 18, 11, 38, 41, 0, 1, -1) >>> import time >>> time.strftime('%Y-%m-%d %H:%M:%S', tt) '2016-08-18 11:38:41' Код работает как на Питоне 2 так и 3. Принимаемый формат для strftime() функции может зависеть от платформы (от C strftime(3)). Если нужна переносимость, то убедитесь, что использованные кода поддерживаются на желаемых платформах.

Комментариев нет:

Отправить комментарий