在前端搜索框中,根据选择日期,筛选截止到此日期的数据。选择中一个日期之后,后台只接收的一个日期,没有时间。所以,无法筛选出选中日期当天。
比如:选中截止到2020-01-03日的数据,则无法显示出2020-01-03 00:01:30 这时候的数据,所以,在前端只传入日期之后,需要进行处理,为日期添加23小时59分59秒。这样,才可以筛选出截止到这个时间点的数据。
DateTime dateTime = new DateTime(date);
DateTime d = dateTime.plusHours(23).plusMinutes(59).plusSeconds(59);
return d.toDate();
然后把这个时间传入mybatis中,即可筛选出所需要的时间。
数据库中根据日期筛选数据,在判断空值中,去掉“”空字符串的判断
<if test="date != null">
and <![CDATA[check_time <= #{date,jdbcType=TIMESTAMP}]]>
<!--and check_time <![CDATA[<=]]> #{date,jdbcType=DATE}-->
</if>
check_time为数据库字段,date为传入参数,jdbcType=TIMESTAMP时,比较日期加时间,只比较日期就换为date。