Как преобразовать unix в нормальную дату в Django
Привет всем, есть вопрос как преобразовать Unix в нормальную дату в Django и вывести в шаблон.
База данных удаленная MySQL оттуда подтягиваю данные.
Есть такое поле в котором хранится весь список Unix времен
Что мне нужно сделать, чтобы это всё преобразовать и вывести в шаблон.
Пример Unix времен на сайте нужно чтобы была нормальная дата.
Ответы (1 шт):
Предполагая, что 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 объект, производя конвертацию автоматически.

