繁体   English   中英

将ORACLE NUMBER字段转换为ORACLE DATE

[英]Convert ORACLE NUMBER field to ORACLE DATE

将NUMBER字段转换为ORACLE日期时遇到问题。 问题在于字段保留的值1285666505575由13位数字组成。 我以为这是标准时间戳记值,但是当前时间戳记时间由10位数字组成(请在此处检查)。 该字段是从JAVA代码设置的。 我想将此数字转换为dd-mm-yyyy人类格式。 你能给一些合适的建议吗?

提前致谢!

在@Jesper的帮助下,我找到了这个解决方案。

select TO_DATE('01/01/1970 00:00:00','DD/MM/YYYY HH24:MI:SS') + (1285666505575 /1000/60/60/24) from dual

Unix时间戳(您的链接所引用的时间戳)计算自1970年1月1日以来的秒数

Java从1970年1月1日开始使用毫秒数来计算时间。 因此,它比Unix时间戳多三位数也就不足为奇了。

您可以将该数字传递给java.util.Date的构造函数。 例:

Date date = new Date(1285666505575L);
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(date));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM