java按照日期查詢,查詢不到結束日期所對應的資料
阿新 • • 發佈:2019-02-10
效果如下:可以查到結束日期的資料:
原因(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
希望對你有點幫助