將 java.util.Date 轉換為 java.sql.Date

當需要在資料庫中寫入 Date 物件時,通常需要 java.util.Datejava.sql.Date 轉換。

java.sql.Date 是一個毫秒值的包裝器,由 JDBC 用於識別 SQL DATE 型別

在下面的示例中,我們使用 java.util.Date() 建構函式,它建立一個 Date 物件並初始化它以表示最接近毫秒的時間。此日期在 convert(java.util.Date utilDate) 方法中用於返回 java.sql.Date 物件

public class UtilToSqlConversion {
    
    public static void main(String args[])
    {
        java.util.Date utilDate = new java.util.Date();
        System.out.println("java.util.Date is : " + utilDate);
        java.sql.Date sqlDate = convert(utilDate);
        System.out.println("java.sql.Date is : " + sqlDate);
        DateFormat df = new SimpleDateFormat("dd/MM/YYYY - hh:mm:ss");
        System.out.println("dateFormated date is : " + df.format(utilDate));
    }

    private static java.sql.Date convert(java.util.Date uDate) {
        java.sql.Date sDate = new java.sql.Date(uDate.getTime());
        return sDate;
    }

}

輸出

java.util.Date is : Fri Jul 22 14:40:35 IST 2016
java.sql.Date is : 2016-07-22
dateFormated date is : 22/07/2016 - 02:40:35

java.util.Date 有日期和時間資訊,而 java.sql.Date 只有日期資訊