日期之间的转换

public class DateTest {
    /*
     * 日期格式 常用的两种 
     * yyyy-MM-dd
     * yyyy/MM/dd
     */
    public static void main(String[] args) throws ParseException {
        //01.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));
        
        //02.字符串 转换成  Date
        String  str="2016-11-12 03:58:32";
        date=format.parse(str);
        System.out.println(date);
    }
    
    
    
    
    //03.把  sql  Date   转换成    util  Date
    @Test
    public   void  test01(){
        
        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());
    }
    
    
    
    
    //04.把字符串  转换成 TimeStamp类型(时间戳)
    @Test
    public   void  test02(){
        //需要一个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);
    }
    
    
    
    //04.把 TimeStamp类型  转换成 字符串
    @Test
    public   void  test03(){
        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));
    
    }
    
    /*
     * 05.把 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);
    }
    
    
    //06.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);
    }

}