java中有关Date的问题?

异常时:java.util.Date cannot be cast to java.sql.Date

我的代码是:
java.text.SimpleDateFormat timeformat = new java.text.SimpleDateFormat(
"yyyy-MM-dd");
java.util.Date Sbirth = null;
try {
Sbirth = timeformat.parse(bir);
} catch (ParseException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
pstmt.setDate(5,(Date)Sbirth);

java.util.Date 和 java.sql.Date
2个虽然都是日期格式
但内在不太一样
所以不能直接互相赋值

改一下
加一句
Sbirth = timeformat.parse(bir);
java.sql.Date sqlDate = new java.sql.Date(Sbirth.getTime());
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-22
java.util.Date 日期不能被转换为java.sql.Date。
修改:把sql包写成util包就没问题了。追问

具体在哪个地方改啊?

追答

楼上的答案不错,另外java.util也行的。

第2个回答  2013-05-22
虽然都是 Date类型,但是却不是同一个命名空间的,所以不能直接拿来赋值啊,修改下就行了追问

怎么修改?

追答

定义的时候,就用sql.date 类型
java.sql.Date Sbirth = null;

相似回答