util.Date與sql.Date的異同以及相互轉換


Java中有兩個Date類

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

 

 

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:表示時間戳,有年月日時分秒,以及毫秒。

 

util.Date轉sql.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));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM