1

我在将 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
4

1 回答 1

1

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));
于 2012-10-11T07:16:36.193 回答