在保留時間戳的同時將java.sql.Date對象轉換爲java.util.Date的最簡單方法是什麼?將java.sql.Date轉換爲java.util.Date
我想:
java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());
沒有運氣。它仍然只將日期部分存儲到變量中。
在保留時間戳的同時將java.sql.Date對象轉換爲java.util.Date的最簡單方法是什麼?將java.sql.Date轉換爲java.util.Date
我想:
java.util.Date newDate = new Date(result.getDate("VALUEDATE").getTime());
沒有運氣。它仍然只將日期部分存儲到變量中。
java.sql.Date類設計爲只帶一個沒有時間的日期,因此您看到的轉換結果對於此類型是正確的。您需要使用java.sql.Timestamp來隨時獲取完整的日期。
java.util.Date newDate = result.getTimestamp("VALUEDATE");
由於java.sql.Date
延伸java.util.Date
,你應該能夠做到
java.util.Date newDate = result.getDate("VALUEDATE");
是的,但在運行時,'newDate'仍然是'java.sql.Date'的一個實例。 – 2016-10-05 11:56:33
從閱讀源代碼,如果java.sql.Date
沒有真正有時間信息,調用getTime()
將返回包含時間的值信息。
如果這不起作用,則信息不在java.sql.Date
對象中。我期望JDBC驅動程序或數據庫(實際上)將時間組件歸零...或者信息不在首位。
我認爲你應該使用java.sql.Timestamp
和相應的resultset方法以及相應的SQL類型。
我在查詢Oracle 10g。使用ojdbc14.jar – mservidio 2011-05-20 00:53:28
如果你真的想運行時類型是util.Date則只是這樣做:
java.util.Date utilDate =新java.util.Date(sqlDate.getTime());
Brian。
該函數將從SQL日期對象返回一個轉換後的java日期。
public static java.util.Date convertFromSQLDateToJAVADate(
java.sql.Date sqlDate) {
java.util.Date javaDate = null;
if (sqlDate != null) {
javaDate = new Date(sqlDate.getTime());
}
return javaDate;
}
在最近的實現中,java.sql.Data是java.util.Date的子類,因此不需要轉換。 在這裏看到:https://docs.oracle.com/javase/1.5.0/docs/api/java/sql/Date.html
這種繼承是一個奇怪的設計傳統 – seand 2011-05-20 00:45:49