java按照日期查询,查询不到结束日期所对应的数据

效果如下:可以查到结束日期的数据:
这里写图片描述
这里写图片描述
原因(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:&quot;yyyy-MM-dd&quot;})" class="input input-medium" name="startTime" id="startTime" ><!--My97日期控件 -->

           <input type="text" value="${endTime }" placeholder="结束时间" onclick="WdatePicker({dateFmt:&quot;yyyy-MM-dd&quot;})" 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

希望对你有点帮助

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值