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

时间:2012-08-26 14:50:00

标签: java datetime time casting

  

可能重复:
  How to convert java.util.date to 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();

如何解决此问题?

(之前发帖:Convert jcalendar Date into XMLGregorianCalendar Getting Null Value

2 个答案:

答案 0 :(得分:30)

java.util.Date转换为java.sql.Date是不可能的。您需要将转换从一种类型转换为另一种类型:

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

答案 1 :(得分:4)

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

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