2013-07-23 35 views
1
String d=(((JTextField)dobdatetext.getDateEditor().getUiComponent()).getText()); 
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
java.util.Date fromDate = formatter.parse(d); 
java.sql.Date sqlDate = new java.sql.Date(fromDate.getTime()); 

我試圖保存sqlDate,但在數據庫中它存儲爲yyyy/MM/dd格式。請有人糾正我的錯誤,以便我可以得到我想要的結果...在SQL數據庫中使用NetBeans將日期保存爲dd/MM/yyyy

+3

爲什麼你需要這樣保存它?讓系統存儲它,然後在任何地方顯示時格式化數據。 – ObieMD5

+1

更正:數據庫存儲'Date',但其默認顯示格式爲'yyyy/MM/dd'。但是這根本不應該打擾你,如果你想顯示日期,否則你應該可以通過重新配置數據庫來做到這一點,參見文檔,這裏將解釋它。 – fvu

+0

噢,如果您要*存儲文本日期(雖然有更好的DATE/DATETIME列類型),[**至少使用ISO 8601 **](http://xkcd.com/1179/)。以區域特定格式顯示的是* * display *,並且屬於客戶端/應用程序級別。如果該計劃必須在MM/dd/yyyy常見的國家使用,會發生什麼情況? Yikes,談論數據噩夢:( – user2246674

回答

0

在SQL Server實例中配置的默認格式中顯示日期的格式,並不取決於您在應用程序中使用的日期格式設置它。

此外,如果您將日期存儲在日期列中,則格式無關緊要,因爲您可以以任意格式檢索日期。有關如何以不同的日期時間格式檢索數據列,請參閱http://www.sql-server-helper.com/tips/date-formats.aspx。 HTH。

2

如果數據庫字段的類型爲date(或任何供應商支持的)而不是文本,那麼數據庫中的格式是不相關的。格式化用於輸出。

0

如果你存儲在文本的日期,SimpleDateFormat的有applypattern方法,所以你可以嘗試

formatter.applypattern("yyyy/MM/dd"); 
sqlDate = formatter.format(/*date you want to format*/); 
+0

我會試試這個。謝謝... –

1

其實格式使用YYYY-MM-DD,只使用一個SimpleDateFormat的格式化retriving日期值時,日期值所需的格式......

SimpleDateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy"); 
String strDate = dateFormat.format(rs.getDate("column name")); 
1

可以使用to_date函數:

insert into table_name(column_name) 
         values (TO_DATE(d, 'yyyy/MM/dd')); 
相關問題