Как преобразовать unix в нормальную дату в Django

Привет всем, есть вопрос как преобразовать Unix в нормальную дату в Django и вывести в шаблон.

База данных удаленная MySQL оттуда подтягиваю данные.

Есть такое поле в котором хранится весь список Unix времен

Поле из БД MySQk

Что мне нужно сделать, чтобы это всё преобразовать и вывести в шаблон.

Пример Unix времен на сайте нужно чтобы была нормальная дата.

Пример времен.


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

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

Предполагая, что obj содержит объект модели:

date = datetime.fromtimestamp(obj.created) создаст переменную с python datetime объект из вашего Unix-времени в колонке created.

print(date.strftime("%m/%d/%Y, %H:%M:%S")) напечатает в консоль время в переменной date в формате ММ/ДД/ГГГГ, ЧЧ:ММ:СС. Больше информации по форматам можете найти тут.

Пример полного кода в вашей view функции:

from datetime import datetime

date = datetime.fromtimestamp(obj.created)
print(date.strftime("%m/%d/%Y, %H:%M:%S"))

Если это будет использоваться более одного раза, то я бы посоветовал добавить метод для вашей модели:

def get_verbose_time(self): # Не забудьте про импорт в начале файла
    date = datetime.fromtimestamp(obj.created)
    print(date.strftime("%m/%d/%Y, %H:%M:%S"))

Так-же хотелось бы отметить, что в Django для этого есть специальный класс models.DateTimeField, который вы могли бы использовать вместо вашего models.IntegerField. Больше информации о models.DateTimeField тут. Данный класс возвращает вам datetime объект, производя конвертацию автоматически.

→ Ссылка