@leksoQA

Как адаптировать дату?

Добрый день.
Подскажите, как можно преобразовать дату:
Получаю 2017-04-22T13:56:43.914375+03:00, а вернуть нужно 2017-04-22T00:00:00+03:00. Пробовал с помощью replace, менять значения часы, минуты, секунды. Не помогло.
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
input_s = '2017-04-22T13:56:43.914375+03:00'
output_s = ''.join([input_s[:input_s.index('T') + 1], '00:00:00', input_s[input_s.index('+'):]])
# '2017-04-22T00:00:00+03:00'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
вариант с "честной" обработкой времени через dateutil
>>> from dateutil.relativedelta import relativedelta
>>> from dateutil.parser import parse
>>> input_iso8601 = '2017-04-22T13:56:43.914375+03:00'
>>> t = parse(input_iso8601)
>>> t
datetime.datetime(2017, 4, 22, 13, 56, 43, 914375, tzinfo=tzoffset(None, 10800))
>>> t2 = t + relativedelta(hour=0, minute=0, second=0, microsecond=0)
>>> t2
datetime.datetime(2017, 4, 22, 0, 0, tzinfo=tzoffset(None, 10800))
>>> t2.isoformat()
'2017-04-22T00:00:00+03:00'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы