Unix Date Django

такой вопрос как мне из unix системы времени перевсти в наше время в проэкте django и вывести все это в шаблон?

Вот так выглядит в шаблоне сайта

Вот это поле нужно переконвертировать в Datetime

Это поле нужно переделать


Ответы (1 шт):

Автор решения: Dmitry

Предлагаю написать templatetag для перевода timestamp в удобочитаемый вариант даты/времени. Здесь вы найдете оригинальную документацию по созданию собственных тэгов.

Для начала в корне вашего приложения (именно app, а не всего проекта), создайте папку templatetags. Внутри папки обязательно создайте пустой __init__.py файл. Здесь же создайте файл, где будет логика, например такой timetags.py и напишите то, что вы хотите видеть. Пример из моего проекта:

# timetags.py

from django import template
import datetime
register = template.Library()

@register.simple_tag
def from_timestamp_to_datetime(timestamp):
    try:
        ts = float(timestamp)
        time = datetime.datetime.fromtimestamp(ts)
        if time.minute < 10:
            minute = '0' + f"{time.minute}"
        else:
            minute = f"{time.minute}"
        if time.month < 10:
            month = '0' + f"{time.month}"
        else:
            month = f"{time.month}"
        timestr = f"{time.hour}:{minute}, {time.day}.{month}.{time.year}"
    except ValueError:
        return None
    return timestr


После всего этого вы можете загрузить данный тэг на страницу написав в html коде такую строку {% load timetags %}.

А следующая строка выведет вам формат даты указанной в логике тэга:

{{ timestamp_value|from_timestamp_to_datetime}}

Конечно же, кастомизировать вывод даты нужно в самой логике. В моем примере выводятся часы:минуты, день.месяц.год. Где минуты и месяцы имеют ведущий ноль, если они меньше десяти.

→ Ссылка