Java之时间转换

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = sdf.parse("2018-06-05 13:01:25");    
    System.out.println(date.getTime());
    System.out.println(sdf.format(date.getTime()));   

    这个例子就足以说明Date类型的数据如何转换为Long类型
    Long类型的日期如何转换为Date
    
    特别是第三方接口,很多接口传参除了传签名外还有时间戳,时间戳通常就是用Long类型的时间表示的(这里指的是将Date转为Long类型)
    之所以做主要考虑到安全。

     Date dt =new Date();  
        System.out.println(dt); //格式: Wed Jul 06 09:28:19 CST 2016  
          
        //格式:2018-6-24  
        String formatDate = null;  
        formatDate = DateFormat.getDateInstance().format(dt);  
        System.out.println(formatDate);    
          
        //格式:2018年6月24日 星期三  
        formatDate = DateFormat.getDateInstance(DateFormat.FULL).format(dt);  
        System.out.println(formatDate);  
          
        //格式 24小时制:2018-06-24 09:39:58  
        DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //HH表示24小时制;  
        formatDate = dFormat.format(dt);  
        System.out.println(formatDate);  
          
        //格式12小时制:2018-06-24 09:42:44  
        DateFormat dFormat12 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //hh表示12小时制;  
        formatDate = dFormat12.format(dt);  
        System.out.println(formatDate);  
          
        //格式去掉分隔符24小时制:20160706094533  
        DateFormat dFormat3 = new SimpleDateFormat("yyyyMMddHHmmss");  
        formatDate = dFormat3.format(dt);  
        System.out.println(formatDate);  
          
        //格式转成long型:1467770970  
        long lTime = dt.getTime() / 1000;  
        System.out.println(lTime);  
          
        //格式long型转成Date型,再转成String:  1464710394 -> ltime2*1000 -> 2018-06-24 23:59:54  
        long ltime2 = 1464710394;  
        SimpleDateFormat lsdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        Date lDate = new Date(ltime2*1000);  
        String lStrDate = lsdFormat.format(lDate);  
        System.out.println(lStrDate);  
          
        //格式String型转成Date型:2018-06-24 10:17:48 -> Wed Jul 06 10:17:48 CST 2016  
        String strDate = "2018-06-24 10:17:48";  
        SimpleDateFormat lsdStrFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        try {  
            Date strD = lsdStrFormat.parse(strDate);  
            System.out.println(strD);  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  

 以上是比较常用的时间类型转换,通常签名比较常用的就是Long类型的时间戳,支付用的比较多,为了安全起见。

至于String类型的话,什么创建时间,更新时间等比较常用。

原文地址:https://www.cnblogs.com/youcong/p/9169179.html