【问题标题】:error casting Java.Util.Date into Java.Sql.Date [duplicate]将 Java.Util.Date 转换为 Java.Sql.Date 时出错 [重复]
【发布时间】:2012-08-21 07:07:35
【问题描述】:

可能重复:
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

【问题讨论】:

    标签: java datetime time casting


    【解决方案1】:

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

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

    【讨论】:

    • 感谢@reimus 的支持,我先试试。感谢您的帮助。
    【解决方案2】:

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

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

    【讨论】:

    • 嗨@João 感谢您的回答,我会尝试的。谢谢。
    • @randytan:好的,如果它解决了你的问题,请告诉我。
    猜你喜欢
    • 2018-04-03
    • 2011-08-29
    • 2016-02-14
    • 2015-04-03
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多