在项目提测的时候,发现个问题,就是在通过时间搜索表格数据时,比如时间为2018-1-2至2018-1-2,搜索不出来这天的数据。问过度娘之后知道,搜索只传入年月日时,时间戳默认为当天0点。此问题有两种解决办法。
第一,结束时间在service处理,加一天。此时应注意在dao层里,条件过滤时不应该加“=”。
第二,在sql中,手动加上时分秒条件控制。如下。
sql.append(" and createDate <= to_date('"+endTime+" 23-59-59"+"', 'YYYY-MM-DD HH24-mi-ss')");
PS:附上日期加1代码
Calendar c = Calendar.getInstance(); c.setTime(logVO.getSearchEndDate()); c.add(Calendar.DAY_OF_MONTH, 1); logVO.setSearchEndDate(c.getTime());