今天写代码的时候需要往数据库里插入Date类型的时间,用到PreparedStatement的时候发现setDate()方法老是给我提示出错,结果一查,发现PreparedStatement的setDate()方法的第二个参数用的时间类型是java.sql.Date,所以当我用java.util.Date来设置时就错了。
那对于java.sql.Date和java.util.Date之间应该如何转换呢?经过查资料可以这样转换:
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
转换后的sqlDate就可以设进PreparedStatement里面去了。然后就想到这样设进去的时间格式是怎样的呢?经过实验,得出结论是时间的格式是xxxx-xx-xx,如下图所示