java日期转换

在java开发过程中,时间的转换时必须掌握的=========下面把时间转换做个总结,有可能不是很全面

时间格式只有两种

yyyy-MM-DD

yyyy/MM/DD

时间的类型:字符串类型、sql类型、util类型、TimeStamp类型

1.Date转换成字符串时间

 //Date 转换成字符串
        Date date=new Date();
        System.out.println(date);
        //使用日期转换类
        SimpleDateFormat format=new SimpleDateFormat("yyyy年-MM-dd hh:mm:ss");
        //把日期转换成字符串
        System.out.println(format.format(date));

2.字符串类型转成Date类型

转换的时间格式必须和SimpleDateFormat规定的格式相同,即下面代码标红部分必须一致格式

//字符串 转换成  Date
        String  str="2016-11-12 03:58:32";
 SimpleDateFormat format=new SimpleDateFormat("yyyy年-MM-dd hh:mm:ss");

date=format.parse(str);
 System.out.println(date);

3.sql  Dade 转换成util Date

 Date date=new Date();  //java.util      System.out.println(date.getYear()+1900);
        //java.sql.Date(date)  需要我们传递一个long类型的参数
        java.sql.Date sqlDate=new java.sql.Date(date.getTime());
        System.out.println(sqlDate);
        System.out.println(sqlDate.getYear());

4.字符串转换成TimeStamp类型时间戳

//需要一个long类型的参数
        Timestamp ts=new Timestamp(System.currentTimeMillis());
        System.out.println(ts);  //2016-11-12 16:11:27.828
        String  str="2015-09-01 01:01:01";
        /*
         * valueOf(字符串的类型必须是 底层规定的)
         * 底层代码:   []  代表可有可无
         * String formatError = "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]";
         */
        ts=ts.valueOf(str);
        System.out.println(ts);

5.TimeStamp类型时间转换成字符串

  Timestamp ts=new Timestamp(System.currentTimeMillis());
        //01.方式 最简单
        System.out.println(ts.toString());  
        //02.SimpleDateFormat    
        DateFormat format=new SimpleDateFormat("yyyy/MM/dd  hh:mm:ss");
        System.out.println(format.format(ts));

6.TimeStamp类型转换成util类型date

   /*
     * 把 TimeStamp类型  转换成 util.Date  
     * 
     * 底层代码发现 TimeStamp是Date的 子类
     * public class Timestamp extends java.util.Date
     */
    @Test
    public   void  test04(){
        Timestamp ts=new Timestamp(System.currentTimeMillis());
        Date date=new Date();
        System.out.println("date====>"+date);
        date=ts;//转换
        System.out.println("ts=====>"+date);
    }

7.util类型Date转换成TimeStamp类型时间

//util.Date   不能直接转 换成 TimeStamp类型  需要借助String
    @Test
    public   void  test05(){
        Timestamp ts=new Timestamp(System.currentTimeMillis());
        Date date=new Date();
        System.out.println("date====>"+date);
        if (ts instanceof Date) {
            ts=(Timestamp) date;//转换
        }
        System.out.println("ts=====>"+ts);
    }
原文地址:https://www.cnblogs.com/kuoAT/p/6644499.html