您好我如何更改模型中的日期格式 对于Eg:我有 date = models.DateField(blank = True,null = True)
默认情况下,yyyy-mm-dd格式如何将其更改为dd-mm-yyyy格式
答案 0 :(得分:2)
日期是日期,没有“格式”。当您将日期表示为字符串时,或者您希望将字符串解释为日期时,格式适用。
答案 1 :(得分:1)
您可以使用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')
答案 2 :(得分:0)
最好不要担心输出格式,而不是存储方式。 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