java.util.Date utilDate =新的java.util.Date();
//错误java.sql.Date sqlDate =(java.sql.Date)utilDate;//正确java.sql.Date sqlDate =新的java.sql.Date(utilDate.getTime());
为什么我无法将util.date转换为SQL.date
java.util.Date
是java.sql.Date
的父项。在Java中,父类型不能转换为子类型。
private static class A {
}
private static class B extends A {
}
public static void main(String[] args) {
A a = new A();
B b = new B();
B ba = (B) a; // java.lang.ClassCastException
}
您可以尝试以下解决方案将util中的日期转换为sql date:
{
java.util.Calendar calender = Calendar.getInstance();
java.util.Date dateInUtils = new java.util.Date();
calender.setTime(dateInUtils);
calender.set(Calendar.HOUR_OF_DAY, 0);
calender.set(Calendar.MINUTE, 0);
calender.set(Calendar.SECOND, 0);
calender.set(Calendar.MILLISECOND, 0);
java.sql.Date dateInSql = new java.sql.Date(calender.getTime().getTime());
System.out.println("dateInUtils:" + dateInUtils);
System.out.println("dateInSql:" + dateInSql);
}