zoukankan      html  css  js  c++  java
  • oracle 时间转换为时间戳

    开发中遇见这样一个问题,需要将历史数据刷新成时间戳形式,java中在转换成时间格式,具体做法如下:
    第一步刷新数据,生成时间格式

    select (to_date('2019-07-03 10:43:57','yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01 08:00:00','yyyy-mm-dd hh24:mi:ss'))*86400000   from dual;
    

    第二步java转换 【注:如果不加8小时,java转换差8个小时】

    public class Main{
        public static void main(String[] args){
            Long timeStamp =1562121837000L;  //获取当前时间戳
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String sd = sdf.format(new Date(timeStamp));      // 时间戳转换成时间
            System.out.println("格式化结果:" + sd);
       }
    }
    

    时间戳转换为时间

    select to_char(时间戳的那一列 / (1000 * 60 * 60 * 24) +  
          to_date('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'), 'YYYY-MM-DD HH:MI:SS') AS cdate
    FROM 表名 ;
    

    时间转换为时间戳为什么要减去1970-01-01和增加8小时呢,以下是在搜索中找到的答案(个人认为是对的)
    Unix/linux时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。
    用当前的时间减去1970年1月1日8时,得到的天数乘以24小时乘以3600秒,得到的结果就是系统时间戳。这里用8时的原因时系统所处时区为东8区。

  • 相关阅读:
    破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9
    周一不睡觉,也要把pandas groupy 肝完,你该这么学,No.8
    大周末的不休息,继续学习pandas吧,pandas你该这么学,No.7
    链接
    音乐
    术语
    新闻
    我的文章分类
    我的代码规则
    Jenkins 访问特别慢,且不消耗服务器资源
  • 原文地址:https://www.cnblogs.com/zwgblogs/p/11125258.html
Copyright © 2011-2022 走看看