如何将java.util.date强制转换为java.sql.date?

时间:2014-03-14 06:03:02

标签: java mysql sql casting

    Date date = new Date();
    DateFormat dt = new SimpleDateFormat("yyyy-MM-dd");
     try {
         date = dt.parse("2014-03-14");
     } catch (ParseException parseException) {
     }
    orderBean.setDate((java.sql.Date) date);

当我尝试使用上面的代码将util.date强制转换为sql.date时,会发生如下错误。我正在使用mysql数据库来存储数据。 有谁可以帮助我?

Mar 14, 2014 11:16:44 AM gui.salespot jButton1ActionPerformed
SEVERE: null
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

6 个答案:

答案 0 :(得分:3)

即可。你不能像那样投射不同类型的物体。

相反,您可以获得long的时间并使用它。

java.sql.Date sDate = new java.sql.Date(date.getTime());

答案 1 :(得分:2)

试试这种方式

Date date = new Date();
java.sql.Date d=new java.sql.Date(date.getTime());

答案 2 :(得分:1)

java.sql.Datejava.util.Date延伸,因此您可以将java.sql.Date改为java.util.Date,但不能反过来。

尝试使用...

orderBean.setDate(new java.sql.Date(date.getTime()));

,而不是...

答案 3 :(得分:1)

java.util.Datejava.sql.Date的超类,你不能通过这种方式输入它。

尝试使用 - java.sql.Date#Date(long)

Snippet -

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

答案 4 :(得分:0)

看起来很简单....

public class MainClass {

  public static void main(String[] args) {
    java.util.Date utilDate = new java.util.Date();
    java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
    System.out.println("utilDate:" + utilDate);
    System.out.println("sqlDate:" + sqlDate);

  }
}

解释道。链接为click

答案 5 :(得分:0)

使用此答案转换日期。

java.util.Calendar cal = Calendar.getInstance();
java.util.Date utilDate = new java.util.Date(); // your util date
cal.setTime(utilDate);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);    
java.sql.Date sqlDate = new java.sql.Date(cal.getTime().getTime()); // your sql date
System.out.println("utilDate:" + utilDate);
System.out.println("sqlDate:" + sqlDate);

关注您的问题。

    Date date = new Date();
    DateFormat dt = new SimpleDateFormat("yyyy-MM-dd");
     try {
         date = dt.parse("2014-03-14");
     } catch (ParseException parseException) {
     }
      orderBean.setDate(new java.sql.Date(date.getTime()));

检查this参考..谢谢..