Java之时间转换

简介: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse("2018-06-05 13:01:25"); System.
    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类型的话,什么创建时间,更新时间等比较常用。

目录
相关文章
|
Java
java时间换算(BJU转UTC)
UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。
302 0
java时间换算(BJU转UTC)
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
866 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
|
算法 搜索推荐 Java
线性时间选择(Top K)问题(Java)
线性时间选择(Top K)问题(Java)
263 0
线性时间选择(Top K)问题(Java)
java获取时间间隔,获取当天每隔15分钟的时间
Java开发中日常遇到的关于时间的问题
java获取时间间隔,获取当天每隔15分钟的时间
|
Java 程序员
Java中如何处理时间--Date类
在实际业务中,总会碰到关于时间的问题,例如收集当年的第一季度的数据。第一季度也就是当年的一月一日到三月三十一日。如何处理时间的逻辑,如果用字符串去处理显然不可以,Java有专门的处理时间的类,在此记录一下。Date 类有如下两个构造方法。Date():此种形式表示分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),使用该构造方法创建的对象可以获取本地的当前时间。
177 0
Java中如何处理时间--Date类
|
关系型数据库 MySQL Java
Linux系统下java程序获取的时间与系统时间不一致的问题
解决Linux系统下java程序获取的时间与系统时间不一致的问题
1381 0
Linux系统下java程序获取的时间与系统时间不一致的问题
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
719 0
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
|
Java
Java中格林尼治时间和时间戳的相互转换
Java中格林尼治时间和时间戳的相互转换
748 0
Java将CST的时间字符串转换成需要的日期格式字符串
Java将CST的时间字符串转换成需要的日期格式字符串