将 Java.Util.Date 转换为 Java.Sql.Date 时出错

2022-09-04 06:00:32

可能的重复:
如何将java.util.date转换为java.sql.date?

我发现我的函数有错误,它显示了从DatatypeFactory df初始化newInstance()方法后的错误结果,我得到了另一个错误:

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

我只是将包名称从

java.util.Date into java.SQL.Date

然后铸造:

Date dateStarting  = (Date) jDateChooserStart.getDate();
Date dateEnding    = (Date) jDateChooserEnd.getDate();

如何解决此问题?

(之前的文章:将jcalendar Date转换为XMLGregorianCalendar获取空值)


答案 1

无法从 转换为 。您需要从一种类型转换为另一种类型:java.util.Datejava.sql.Date

java.util.Date utilStartDate = jDateChooserStart.getDate();
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());

答案 2

从类强制转换异常中,您可以看到它们是 2 种不同的类型,不能从一个强制转换到另一个类型。要从 转换为 ,您可以使用:java.util.Datejava.sql.Date

java.util.Date date = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());