oracle中日期类型与unix 时间戳的转换

oracle中日期类型与unix 时间戳的转换  

Unix时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。

  Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数

 (1)从Unix时间戳记转换为Oracle时间

  create or replace function unix_to_oracle(in_number NUMBER) return date is

  begin

   return(TO_DATE('19700101','yyyymmdd') + in_number/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24);

  end unix_to_oracle;

 (2)由Oracle时间Date型转换为Unix时间戳记

  create or replace function oracle_to_unix(in_date IN DATE) return number is

  begin

   return( (in_date -TO_DATE('19700101','yyyymmdd'))*86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600);

  end oracle_to_unix;

 

使用

 select unix_to_oracle(1315102978) from dual;

select oracle_to_unix(to_date('2011-09-04 10:22:58','yyyy-mm-dd hh24:mi:ss')) from dual;



其它时间戳

date -d @1281161747 实现时间戳 → 普通时间

date +%s -d"20110904 10:22:00" 实现普通时间→至时间戳

mysql下执行

SELECT UNIX_TIMESTAMP('2011-09-04 10:22:00');实现普通时间→至时间戳

SELECT FROM_UNIXTIME(875996580); 实现时间戳 → 普通时间

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值