将NUMBER字段转换为ORACLE
日期时遇到问题。
问题是字段值为1285666505575,由13位数组成。
我认为这是标准时间戳值,但当前时间戳时间由10位数组成(检查here)。
该字段是从JAVA
代码设置的。
我想将此数字转换为dd-mm-yyyy
人格式。
你能给出一些合适的建议吗?
提前致谢!
在@Jesper的帮助下,我找到了this解决方案。
select TO_DATE('01/01/1970 00:00:00','DD/MM/YYYY HH24:MI:SS') + (1285666505575 /1000/60/60/24) from dual
答案 0 :(得分:1)
Unix时间戳(链接所指的)计算自01-01-1970以来秒的数量。
Java自01-01-1970以来使用毫秒的数量来计算时间。因此,它的位数比Unix时间戳长三位也就不足为奇了。
您可以将该号码传递给java.util.Date
的构造函数。例如:
Date date = new Date(1285666505575L);
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(date));