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
答案 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.Date
从java.util.Date
延伸,因此您可以将java.sql.Date
改为java.util.Date
,但不能反过来。
尝试使用...
orderBean.setDate(new java.sql.Date(date.getTime()));
,而不是...
答案 3 :(得分:1)
java.util.Date
是java.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参考..谢谢..