@BeatTimy
Web Developer

Как преобразовать datetime в django?

Мне необходим таймер обратного отчета на сайте. Формат должен быть таким: осталось n месяцев j дней часов:минут:секунд. Я разобрался с получением необходимой даты, но проблема в том, что она приходит в timedelta() в формате: n days, часов:минут:секунд. Как можно преобразовать этот формат в удобный для меня или достать из timedelta отдельные значения.
То что получается сейчас: 5c8a79ef42c62463333627.jpeg
Что бы я хотел получить: 5c8a7a0853f7f145299181.jpeg
Мой код:
from datetime import datetime
    now = datetime.now()
    date_left = datetime(2019, 12, 25) - now
    formatedDate = date_left
  • Вопрос задан
  • 647 просмотров
Решения вопроса 1
neatsoft
@neatsoft
Life is too short for bad software
pip install python-dateutil

>>> from datetime import datetime, timedelta
>>> from dateutil import relativedelta
>>> d1 = datetime.now()
>>> d2 = d1 + timedelta(days=285, hours=14, minutes=32, seconds=19)
>>> r = relativedelta.relativedelta(d2, d1)
>>> r.years, r.months, r.days, r.hours, r.minutes, r.seconds
(0, 9, 10, 14, 32, 19)


>>> from datetime import datetime, timedelta
>>> from dateutil import relativedelta
>>> r = relativedelta.relativedelta(datetime(2019, 12, 25), datetime.now())
>>> f'{r.months} мес {r.days} дн {r.hours:02}:{r.minutes:02}:{r.seconds:02}'
'9 мес 10 дн 04:32:01'
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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