2014-02-21 10 views
2

我正在使用以下語句更改要以「MM/dd/yyyy」格式存儲的日期模式。在我的SQL數據庫中,日期字段處於「日期」類型格式。但是,我不明白爲什麼在我的數據庫中它仍然顯示「2014-02-21」的值。這對我來說似乎很奇怪,因爲我已經爲日期定義了一種模式。SimpleDateFormat中的Java日期模式在SQL數據庫中不起作用

我感謝所有幫助,我花了一天時間就可以了...還是被卡住,無法繼續:(

 DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
     Calendar cal = Calendar.getInstance(); 
     String s=dateFormat.format(cal.getTime()); 
     java.util.Date myDate=new java.util.Date(s); 
     java.sql.Date sqlDate=new java.sql.Date(myDate.getTime()); 
     timeVO.set_Date(sqlDate); (store sqlDate in timeVO object- sqlDate is Date  type defined in object) 
+1

將Date值轉換爲字符串以提交沒有意義到數據庫...你有沒有嘗試過'timeVO.set_Date(cal.getTime());'或者是不可能的,因爲方法簽名? –

+0

(根據ISO 8601 **的維基百科頁面) 根據ISO 8601: 表示日期:\t 2014-02-17 – Marichyasana

回答

2

我不知道服務器究竟是如何處理的SQL日期,但我想,格式不存儲在數據庫中,dbms將日期對象存儲爲數字(例如自1970年1月1日以來的秒數),JVM也是如此,日期格式只是將其打印在屏幕上的表示形式 - 您在數據庫中看到的東西只是您的數據庫客戶端顯示的可打印格式,而不是實際存儲在幕後

+0

+1 - 是的,大多數現代RDBMS基本上實現了JVM的功能,並存儲了自從給定時代(這使得排序/搜索非常有效/簡單)。這是_exactly_他的問題是什麼;分辨率取決於他實際上在尋找什麼......可能他需要更新客戶端中使用的顯示格式。 'DATE'類型本身不能改變。試圖以基於字符的類型存儲給定格式的值將導致以後很多麻煩。 –

相關問題