2010-02-10 60 views
0

你好我如何改變模型 日期格式,例如:我有 日期= models.DateField(空白=真,空=真)日期格式模型

默認情況下它YYYY-MM-DD格式如何將其更改爲dd-mm-yyyy格式

回答

2

日期是日期,並且沒有「格式」。當您將日期表示爲字符串時,或者希望將字符串解釋爲日期時,適用一種格式。

+0

http://docs.djangoproject.com/en/dev/ref/forms/fields/#datetimefield 那麼這是什麼一回事 – seena 2010-02-10 14:40:22

+0

這是一回事,正如我所說的,「當你將日期表示爲一個字符串,或者當你想將一個字符串解釋爲一個日期時」。 – 2010-02-10 15:41:09

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') 
+0

可以告訴我如何使用它......因爲它沒有給出 – seena 2010-02-10 14:48:32

+0

你可以在settings.py文件中使用它(例如DATETIME_FORMAT ='N j,Y,P')。你可以在這裏找到允許的選項:http://docs.djangoproject.com/zh/dev/ref/templates/builtins/#ttag-now – 3lectrologos 2010-02-10 14:53:45

0

你最好擔心輸出格式,而不是如何存儲。 A DateField存儲爲數據庫的相同類型的本機列。

如果你真的想這樣,你可以在你的settings.py設置DATE_FORMAT,就像這樣:

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