时间在数据库中的查询问题
我要将一些日期插到数据库,我作这样的处理:
java.util.Date date = new java.util.Date(System.currentTimeMillis());
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String Datetime = df.format(date);
String sql="insert into table (datetime) values (Datetime)";
.....
但当要查询数据库的时候,例如要找回10天前的记录,我这样处理:
int days=10;
java.util.Date date = new java.util.Date(System.currentTimeMillis()-days*24*60*60*1000);
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String BeforeDatetime = df.format(date);
String sql="select * from table where datetime<=BeforeDatetime";
....
这个查询是成功的,
但如果要查30天以上,BeforeDatetime就不准确了,甚至返回比现在时间还有以后的时间。
我想问下,你们是怎样处理时间在数据库中的查询?