Java时间戳转换

时间戳转换:
一、十位时间戳和时间互转

1.十位 时间戳和Stirng互转

/*
     * String(yyyy-MM-dd HH:mm:ss)转10位时间戳
     * 2011-05-09 11:49:45   结果:1304912985
     */
    public static Integer StringToTimestamp(String time){
        int times = 0;
        try {  
            times = (int) ((Timestamp.valueOf(time).getTime())/1000);  
            System.out.println("times:"+times);
        } catch (Exception e) {  
            e.printStackTrace();  
        }
        if(times==0){
            System.out.println("String转10位时间戳失败");
        }
        return times; 

    }
    /*
     * 10位int型的时间戳转换为String(yyyy-MM-dd HH:mm:ss)
     * 1304912985 结果:2011-05-09 11:49:45
     */
    public static String timestampToString(Integer time){
        //int转long时,先进行转型再进行计算,否则会是计算结束后在转型
        long temp = (long)time*1000;
        Timestamp ts = new Timestamp(temp);  
        String tsStr = "";  
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        try {  
            tsStr = dateFormat.format(ts);  
            System.out.println(tsStr);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }
        return tsStr;  
    }

2.十位 时间戳和date互转

/*
     * 10位时间戳转Date
     * 1304912985    结果:2011-05-09 11:49:45.0
     */
    public static Date TimestampToDate(Integer time){
        long temp = (long)time*1000;
        Timestamp ts = new Timestamp(temp);  
        Date date = new Date();  
        try {  
            date = ts;  
            System.out.println(date);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return date;
    }

    /*
     * Date类型转换为10位时间戳
     * new Date()  结果:1493286148
     */
    public static Integer DateToTimestamp(Date time){
        Timestamp ts = new Timestamp(time.getTime());
        Integer timestamp = (int) ((ts.getTime())/1000);
        System.out.println("timestamp:"+timestamp);
        return timestamp;
    }

二、十三位时间戳和时间互转 String类型 / 时间戳

/*
     * 时间戳转换为时间  13位
     * 1493175590107  结果:2017-04-26 10:59:50.107
     */
      public static String stampToDate(String s){
            String res;
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
            long lt = new Long(s);
            Date date = new Date(lt);
            res = simpleDateFormat.format(date);
            System.out.println(res);
            return res;
        }


        /* 
         * 将时间转换为时间戳 13位
         * 2017-04-26 10:59:50.107   1493175590107
         */    
        public static String dateToStamp(String s) throws Exception{
            String res;
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
            Date date = simpleDateFormat.parse(s);
            long ts = date.getTime();
            res = String.valueOf(ts);
            System.out.println(res);
            return res;
        }

三、Stirng格式 转date
1、String(yyyy-MM-dd HH:mm:ss) 转 Date Tue May 04 12:34:23 CST 2010

    /*
     * String(yyyy-MM-dd HH:mm:ss) 转 Date
     * String date = "2010-05-04 12:34:23"; 结果:Tue May 04 12:34:23 CST 2010
     */ 
    public static Date StringToDate(String time) throws Exception {
        Date date = new Date();
        // 注意format的格式要与日期String的格式相匹配
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            date = dateFormat.parse(time);
            System.out.println(date.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return date;
    }

猜你喜欢

转载自blog.csdn.net/Athena072213/article/details/70917825