1、RangePicker组件
使用ant design空间来选择日期区间查询相应信息。
日期无法传到后台,传的值是“%%....”一堆乱码,原因是我用的是GET方法,将查询改成了POST方法后就可以正常传值了。
传到后台的值是一个字符串数组。
由于前端传过去的是一个字符串数组,后台本来的获取时间的方法是Date类型的,不能用来接收一个数组,所以需要自己另外写一个List<Date>来接
private List<Date> notWorkTime; public List<Date> getNotWorkTime() { return notWorkTime; }
System.out.println(customerVo.getNotWorkTime());
if( customerVo.getNotWorkTime()!=null) {
mCriteria.andExpireTimeBetween(customerVo.getNotWorkTime().get(0),customerVo.getNotWorkTime().get(1));
//将数组中的数据通过get()方法取出来
}
后台接收到的数据:[Sun Dec 01 10:54:03 CST 2019, Fri Jan 31 10:54:03 CST 2020]
public Criteria andExpireTimeBetween(Date value1, Date value2) {
addCriterionForJDBCDate("EXPIRE_TIME between", value1, value2, "expireTime");
return (Criteria) this;
}
就可以查询出来了。
2、DatePicker组件
传到后台的是一个字符串
使用andXXXEqualTo方法,参数是字符串
public Criteria andOpenTimeEqualTo(String value) {
addCriterion("OPEN_TIME =", value, "openTime");
return (Criteria) this;
}
使用substring(int beginIndex, int endIndex)方法取出字符串中的日期
if( shopDataVo.getOpenTime()!=null) {
mCriteria.andOpenTimeEqualTo(shopDataVo.getOpenTime().substring(0,10));
}