最近搜索

JPA 日期范围搜索 时间 范围 搜索

浏览:1092
管理员 2020-02-22 05:05




// PO日期  范围 
				if(map.get("poDate1") != null && map.get("poDate2") != null) {
					Date start = DateUtil.formatString(map.get("poDate1").toString(), "yyyy-MM-dd");
					Date end = DateUtil.formatString(map.get("poDate2").toString(), "yyyy-MM-dd");
					predicate.getExpressions().add(cb.between(root.get("poDate"),start,end));
				}				



假如  poDate1  2020-01-01     poDate2   2020-01-29

搜索的范围包含了 01-01  也包含了 01-29






注意点2 

日期用的是   2020-08-02 19:55:38

搜索用的是   yyyy-MM-dd 格式


搜索  2020-08-02 - 2020-08-02   搜索不到东西的。

搜索  2020-08-01 - 2020-08-02   只会展示08-01的数据。


image.png




解决方法是 自动加手加上。   时分秒

if (StringUtil.isNotEmpty(date1))
				map.put("date1", date1+" 00:00:00");
			if (StringUtil.isNotEmpty(date2))
				map.put("date2", date2+" 23:59:00");
				
				
				===================
				
				// 创建日期  范围 
				if(map.get("date1") != null && map.get("date2") != null) {
					Date start = DateUtil.formatString(map.get("date1").toString(), "yyyy-MM-dd HH:mm:ss");
					Date end = DateUtil.formatString(map.get("date2").toString(), "yyyy-MM-dd HH:mm:ss");
					predicate.getExpressions().add(cb.between(root.get("createDateTime"),start,end));
				}
				
				


联系站长

站长微信:xiaomao0055

站长QQ:14496453