Здравствуйте, как изменить формат даты в моделях для Eg: у меня есть дата = models.DateField (пустой = True, нуль = True)Дата в моделях
по умолчанию он гггг-мм-дд формат, как изменить его на формат dd-mm-yyyy
Здравствуйте, как изменить формат даты в моделях для Eg: у меня есть дата = models.DateField (пустой = True, нуль = True)Дата в моделях
по умолчанию он гггг-мм-дд формат, как изменить его на формат dd-mm-yyyy
Дата является датой и не имеет «формата». Формат применяется, когда вы представляете дату в виде строки или когда вы хотите интерпретировать строку как дату.
Вы можете поиграть с DATE_INPUT_FORMATS и аналогичными настройками для своего проекта.
Вы определяете настройку в файле settings.py
для своего проекта. Например:
DATE_INPUT_FORMATS = ('%d-%m-%Y', '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y',
'%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y',
'%B %d, %Y', '%d %B %Y', '%d %B, %Y')
может у вас рассказать мне, как я могу его использовать ...... потому что его нет где дано – seena
Вы используете его в файле settings.py (например, DATETIME_FORMAT = 'N j, Y, P'). Вы можете найти разрешенные варианты здесь: http://docs.djangoproject.com/en/dev/ref/templates/builtins/#ttag-now – 3lectrologos
Вам лучше беспокоиться о формате на выходе, а не о том, как он хранится. A DateField
хранится как собственный столбец базы данных того же типа.
Если вы действительно хотите этого, вы можете установить DATE_FORMAT
в вашем settings.py
, например, так:
DATE_FORMAT='d-m-Y'
Это делает дисплей по умолчанию, как это:
Feb 5, 2010
выглядеть следующим образом:
05-02-2010
Теперь, конечно, есть и другие места, где это будет такие как админки и виджеты формы по умолчанию, так что это не похоже на то, что это общее решение всех ваших проблем. Просто привыкнуть к использованию datetime.datetime.strftime()
как так:
>>> # using one of my own apps as an example where 'created' is a DateTimeField
>>> r.created
datetime.datetime(2010, 1, 28, 10, 5, 19, 38963)
>>> print r.created # default output (this is a Python default)
2010-01-28 10:05:19.038963
>>> print datetime.datetime.strftime(r.created, "%m-%d-%Y") # forcing it to m-d-Y format
01-28-2010
http://docs.djangoproject.com/en/dev/ref/forms/fields/#datetimefield то, что это все о – seena
Вот и все, как я сказал, «когда вы представляете дату в виде строки или когда хотите интерпретировать строку как дату». –