Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2016 15:38:01

kampella
Зарегистрирован: 2014-11-21
Сообщения: 95
Репутация: +  1  -
Профиль   Отправить e-mail  

24-х часовой формат

Как вместо 12 часового формата вывести 24-х часовой формат?
есть модель с полем

date = models.DateTimeField(default=datetime.now)

settings.py
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

Офлайн

#2 Апрель 19, 2016 15:42:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

24-х часовой формат

kampella
date = models.DateTimeField(default=datetime.now)
Так делать нельзя категорически. date - это член класса, и создается он единожды при создании класса, поэтому дефолт будет всегда одним и тем же. Есть специальные параметры auto_now и auto_now_add, вот их и следует использовать.



Офлайн

#3 Апрель 19, 2016 15:44:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

24-х часовой формат

Офлайн

#4 Апрель 19, 2016 15:49:51

kampella
Зарегистрирован: 2014-11-21
Сообщения: 95
Репутация: +  1  -
Профиль   Отправить e-mail  

24-х часовой формат

FishHook
Что вы имеете в виду? Имя переменной?

Из документации:
For DateField: default=date.today - from datetime.date.today()
For DateTimeField: default=timezone.now - from django.utils.timezone.now()
https://docs.djangoproject.com/en/1.9/ref/models/fields/#django.db.models.DateField.auto_now_add
Те можно без auto_now и auto_now_add, если подразумевается ручной ввод параметров.

Офлайн

#5 Апрель 19, 2016 16:02:59

kampella
Зарегистрирован: 2014-11-21
Сообщения: 95
Репутация: +  1  -
Профиль   Отправить e-mail  

24-х часовой формат

LANGUAGE_CODE = ‘en-us’
TIME_ZONE = ‘Europe/Moscow’
USE_I18N = True
#USE_L10N = True
USE_TZ = True
TIME_FORMAT = ‘H’

Не работает.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version