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