簡體   English   中英

將Oracle Date字段對象轉換為java Date

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM