环境:JDK 1.6.24 + MyEclipse 6.5
PreparedStatement里的setDate方法,参数为必须是java.sql.Date;而不是java.util.Date;
pstmt.setDate(4, createdDatetime);
而java.sql.Date的构造方法没有java.util.Date丰富,所以需要把java.util.Date转换为java.sql.Date,可以通过java.util.Date的getTime方法进行转换。看看API里的getTime方法:
getTime
public final Date getTime()返回一个表示此Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
返回:
表示时间值的 Date。
另请参见:
setTime(Date), getTimeInMillis()
java.util.Date date = new java.util.Date();
java.sql.Date createdDate = newjava.sql.Date(date.getTime());
参考资料:
java.util.Date和java.sql.Date的区别及应用- Havea try - 博客园
http://www.cnblogs.com/gmh/archive/2008/03/14/1106064.html
Java.util.date 与java.sql.date区别和转换
http://chendang.iteye.com/blog/323069
java.util.Date和java.sql.Date相互转换问题
http://zhidao.baidu.com/question/80404753.html
java.sql.Date使用方式
http://adorechen.blog.163.com/blog/static/38890272200791611113227/