到sql日期类型转换的使用日期

问题描述 投票:0回答:2

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 spring jdbc
2个回答
0
投票

java.util.Datejava.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
}

0
投票

您可以尝试以下解决方案将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);
}
© www.soinside.com 2019 - 2024. All rights reserved.