[英]converting oracle Date field Object to java Date
我在Oracle DB中有一個Date字段。
日期字段1
現在有一個現有的DAO以Object的形式獲取此field1
Object field1
現在我需要將其類型轉換為java Date
But if i do like following i get error:
Date dt = (Date) object; //object holds date object
DateTime jdt = new DateTime(dt) ; //convert it to jodaDate
錯誤: cannot cast Long to Date.
如何將其轉換為javaDate而不是Joda DateTime
您正在將Oracle DB中的數據類型DATE
與Java類型Date
混淆。 該錯誤cannot cast Long to Date
表示您持有的對象是Java類型Long
,這就是為什么將Java Date
類型轉換失敗的原因。 Long表示自1970年1月1日以來的秒數或毫秒數,具體取決於您的DOA層(請參見文檔),因為Oracle中的DATE精度僅下降至秒數。 要接收日期,請分別使用new Date((long) object)
或new Date(1000 * (long) object)
。
您也可以使用這些毫秒數直接生成DateTime
,而完全不使用Java Date
類。
從錯誤消息中可以明顯看出,所提取的對象是Long類型。 現在,您可以從Long對象中簡單構造一個java.util.Date對象,如下所示:
Date dt = new Date((Long)object)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.