JAVA时间戳转为ORACLE时间串

在java中,调用System.currentTimeMillis()获取到系统当前时间的UNIX时间戳是以毫秒为单位的,但是ORACLE中,如果需要将时间戳转为时间或者时间字符串,必须先除以1000,该互转如下。

 

JAVA获取时间戳:long time = System.currentTimeMillis();

ORACLE转换为时间:

select ( to_date('19700101', 'yyyymmdd') + 1508138701256 / 86400 / 1000 + 
to_number(substr(tz_offset(sessiontimezone), 1, 3)) / 24 ) as datetime from dual;

ORACLE转换为格式时间字符串:

select to_char(to_date('19700101', 'yyyymmdd') + 1508138701256 / 86400 / 1000 +
to_number(substr(tz_offset(sessiontimezone), 1, 3)) / 24, 'yyyymmdd hh24:mi:ss') 
as datetime from dual;

ORACEL根据日期生成UNIX时间戳,in_date 为oracle中俄日期时间入参:

select ( ( in_date - to_date('19700101','yyyymmdd') ) * 86400 -
to_number( substr( tz_offset(sessiontimezone),1,3) )*3600 ) as datetime
from dual;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值