1. 程式人生 > >util.Date與sql.Date的相互轉換

util.Date與sql.Date的相互轉換

Java中有兩個Date類,一個是java.util.Date通常情況下用它獲取當前時間或構造時間,另一個是java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分。兩個型別的時間可以相互轉化。

util.Date轉sql.Date
程式碼:

        Date utilDate = new Date();//util.Date
        System.out.println("utilDate : " + utilDate);
        //util.Date轉sql.Date
        java.sql.Date sqlDate = new java.sql
.Date(utilDate.getTime()); System.out.println("sqlDate : " + sqlDate);

執行結果:
這裡寫圖片描述
從執行結果看到util.date轉成sql.date之後,只有年月日,沒有時分秒。下面給大家看點東西就知道為什麼會這樣了

java.sql包下給出三個與資料庫相關的日期時間型別:
    Date:表示日期,只有年月日,沒有時分秒。會丟失時間;
    Time:表示時間,只有時分秒,沒有年月日。會丟失日期;
    Timestamp:表示時間戳,有年月日時分秒,以及毫秒。

程式碼

        Date utilDate = new
Date();//util utilDate System.out.println("utilDate : " + utilDate); Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt date轉sql date System.out.println("sqlDate : " + sqlDate);

執行結果:
這裡寫圖片描述
這樣就有時分秒了
sql.Date轉util.Date
觸類旁通,就直接上程式碼了
程式碼

        System.out.println("*********util.Date轉sql.Date*********"
); Date utilDate = new Date();//util.Date System.out.println("utilDate : " + utilDate); Timestamp sqlDate = new Timestamp(utilDate.getTime());//util.Date轉sql.Date System.out.println("sqlDate : " + sqlDate); System.out.println("*********sql.Date轉util.Date*********"); System.out.println("sqlDate : " + sqlDate); Date date = new Date(sqlDate.getTime());//sql.Date轉util.Date /* java.util.Date date = new java.util.Date(sqlDate.getTime()); */ System.out.println("utilDate : " + date);

執行結果:
這裡寫圖片描述
同時util.Date和sql.Date都可以用SimpleDateFormat格式化
程式碼

        Date utilDate = new Date();//uilt.Date
        System.out.println("utilDate : " + utilDate);

        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("format : " + format.format(utilDate));

        System.out.println("**********************************************");

        Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt.Date轉sql.Date
        System.out.println("sqlDate : " + sqlDate);
        System.out.println("format : " + format.format(sqlDate));

執行結果:
這裡寫圖片描述