将 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 只有日期信息