效果如下:可以查到结束日期的数据:
原因(1):仔细检查所查询日期内是否有数据
(2):如有数据:就需要对时间进行加减
因为所选时间只可以截至到00:00;比如查询到2016-11-11的数据
此时只能查到2016-11-11 00:00:00的数据,也就是前一天的数据;
所以需要将 日期加上23:59:59;
前台代码如下:
<html lang="en">
<head>
</head>
<body>
<div class="inforbox selectinforbox">
<form action="/Back/backList.html" method="post"> <!--form提交-->
<div class="row">
<span>注册时间:</span>
<input type="text" value="${startTime }" placeholder="开始时间" onclick="WdatePicker({dateFmt:"yyyy-MM-dd"})" class="input input-medium" name="startTime" id="startTime" ><!--My97日期控件 -->
<input type="text" value="${endTime }" placeholder="结束时间" onclick="WdatePicker({dateFmt:"yyyy-MM-dd"})" class="input input-medium" name="endTime" id="endTime">
</div>
<input type="submit" class="searchbtn search" value="搜索">
</form>
</div>
</body>
后台代码如下:
public class BackAction {
public String SalsemanSeedList(Model model, HttpServletRequest request,
@RequestParam(value = "startTime", required = false) String startTime1,//开始时间
@RequestParam(value = "endTime", required = false) String endTime1,//结束时间
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo){
if(StringUtils.isNotBlank(startTime1)){
Map<String,Object> map = new HashMap<String,Object>();
Date startTime = null;
Date endTime = null;
String startTimeStr = startTime1+" 00:00:00";//将时开始时间加上时分秒
String endTimeStr = "";
if(StringUtils.isBlank(endTime1)){
endTimeStr = DateUtil.format(new Date(),"yyyy-MM-dd")+" 23:59:59";//如果没有填写结束时间,那么就是当前天加上23:59:59
}else{
endTimeStr = endTime1+" 23:59:59"; //如果不为空,就将时间直接加23:59:59
}
startTime = DateUtil.parse(startTimeStr, "yyyy-MM-dd HH:mm:ss"); //再将开始时间与结束时间转成Date类型
endTime = DateUtil.parse(endTimeStr, "yyyy-MM-dd HH:mm:ss");
map.put("startTime", startTime);
map.put("endTime", endTime);
}else{
map.put("startTime", null);
map.put("endTime", null);
}
List<SuBuyBack> buyBackList= buyBackService.selectBackBySalesmanId(map);
model.addAttribute("startTime", startTime == null?null:DateUtil.format(startTime,"yyyy-MM-dd"));//将开始时间返回到页面
model.addAttribute("endTime",endTime == null?null:DateUtil.format(endTime,"yyyy-MM-dd") );//将结束时间返回到页面
}
}
注意 :最后将时间转成Date()类型进入数据库查询
这样就可以查出开始时间的yyyy-MM-dd 00:00:00到结束日期的yyyy-MM-dd 59:59:59
希望对你有点帮助