繁体   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