2015-12-18 15 views
2

我想將dd/mm/yyyy格式的日期保存在我的數據庫中,因爲我想將包含它們的表導入到JTable(Java SE)中我想以這種格式顯示它們。是否有可能以這種格式直接將數據保存在我的數據庫中,或者我必須以另一種方式進行操作?我的數據庫是用SQL寫的,我使用MySQL。在SQL表中設置日期格式dd/mm/yyyy

+4

我建議你在mysql中保存具體日期類型的日期。讓java格式化日期。 –

+2

最好將存儲與演示分開。數據庫將根據需要存儲日期。您的前端是擔心格式的最佳地點。 –

+0

謝謝,現在我試試看。 – salvo9415

回答

0

沒有可能以指定的格式保存日期,但是您可以將該字段的類型設置爲字符串(在MySql varchar中),並且您可以保存任何您想要的內容。

3

日期是日期。它不存在日期格式。

您可以獲得的是從日期開始具有特定格式的字符串。

請注意,該格式可能不是dd/mm/yyyy而是dd/MM/yyyy,因爲mm是幾分鐘,而不是幾個月。

所以基本上你有兩種可能性:

  • 保存日期,日期和檢索它們作爲字符串與請求的格式
  • 日期轉換爲字符串,並將其保存爲格式的字符串(VARCHAR例如)

到日期轉換爲MySQL中的字符串可以使用函數DATE_FORMAT

如果你想轉換ŧ在Java下襬你可以使用SimpleDateFormat

+0

我認爲使用SimpleDateFormat更好。謝謝! – salvo9415

0

你不能這樣做, 否則你必須使用VARCHAR或CHAR,但那不建議。

將日期保存爲格式爲yyyy-mm-dd的DATE數據類型。 不要亂它。

當您獲取記錄時,使用DATE_FORMAT函數將其轉換爲您的格式。 (如果你使用MySQL)

SELECT DATE_FORMAT(CURDATE(), '%d-%m-%Y'); 

你的情況

SELECT DATE_FORMAT(<your_date_field>, '%d-%m-%Y'); 
0

使用DATE_FORMAT函數改變MySQL中的日期的格式。

SELECT DATE_FORMAT(CURDATE(),'%d/%m/%Y') 
SELECT DATE_FORMAT(column_name,'%d/%m/%Y') # FROM tablename 

有關更多詳細信息,請參閱documentation