我需要將像2010-11-28這樣的字符串轉換爲Date類型以保存在PostgreSQL數據庫中。我試過這段代碼,但是當我檢查數據庫中的結果時,兩個日期都爲空:Java:將字符串轉換爲日期
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date validStartDate=null;
Date validEndDate=null;
try {
validStartDate = df.parse(startDate);
validEndDate = df.parse(endDate);
} catch (Exception e) {
...
}
Assigment a = new Assignment(..., validStartDate, validEndDate);
session.save(s);
------------------------- -------編輯----------------------------
startDate和endDate是格式爲yyyy- mm-dd喜歡2010-11-27。堆棧跟蹤中沒有任何東西(轉換似乎以某種方式工作)。如果有什麼我可能會知道什麼是錯的。轉換後,日期存儲在postgres數據庫中。是的,我用util.Date而不是sql.Date(可能這是第一個錯誤)。
------------------------------- Edit2 -------------- -------------
代碼被簡化了,但是:棧跟蹤沒有顯示任何奇怪的東西,validStartDate和validEndDate被轉換成像這樣的東西Tue Nov 30 00:00:00 CET(所以不是空)。作業確實正確保存在數據庫中。 sql:插入public.assignment(type,valid_start_date,valid_end_date,id)值(5,NULL,NULL,2)。我試圖使用sql.Date,但沒有成功。
----------------------------作業映射---------------- -
<hibernate-mapping>
<class name="model.Assignment" schema="public" table="assignment">
<id name="id" type="int">
<column name="id"/>
<generator class="increment"/>
</id>
<property name="validStartDate" type="date">
<column name="valid_start_date" length="13" />
</property>
<property name="validEndDate" type="date">
<column name="valid_end_date" length="13" />
</property>
<property name="type" type="integer">
<column name="type" />
</property>
</class>
</hibernate-mapping>
我正在使用Hibernate來保存用戶數據。該字符串由JQuery小部件Datepicker創建。有誰知道如何解決這個問題?預先感謝您的幫助。
你確定`startDate`和`endDate`正確填充? – Bozho 2010-11-28 18:05:25
因此,您沒有處理異常,但忽略它並繼續執行代碼流?你應該拋出異常!它包含有關該問題的寶貴信息。 – BalusC 2010-11-28 18:07:31