把我费了半个小时解决的垃圾问题写下来.
用JDBC时,PreparedStatement就会用到set()方法,但set进去的则是java.sql.Date类型,而不是java.util.Date类型,问题就出来了,比如当你set进去一个时间(假设时间2006-12-18 15:43:23),如下:
java.sql.Date today = new java.sql.Date(); |
我要查在这个时间以前的数据,可结果却返回了17号以前的结果,
在数据库里查也是没有问题的,但问题出在什么地方呢?后来找到的答案就是:通过这种方式java.sql.Date会省略小时/分/秒,转成的SQL会默认为
2006-12-18 00:00:00,认为是查
2006-12-18 00:00:00之前的结果.就这样才造成了这次头痛的事件,而这一代码还不是本人所写,看别人的代码真是累!
最后只好在时间上加1天,否则就需要用字符串比较.不知道还有其他方法没?
posted on 2006-12-18 18:49
Warren.Wu 阅读(242)
评论(0) 编辑 收藏