用来处理前端传回的时间段如"2020-06-07"和"2020-06-23"
用mybatis用between查询时间段不能包括结束日期
import org.apache.commons.lang3.StringUtils;
import java.util.*;
import java.util.regex.Pattern;
/**
* @author 莫须有
* 用来处理前端传回的时间段如"2020-06-07"和"2020-06-23"
* 用mybatis用between查询时间段不能包括结束日期
**/
public class DateTimeUtils {
/**
* 判断日期格式是否为yyyy-MM-dd,因为前端是控件,所以简单判断就好
*/
public static final String REGEX_DATE="[0-9]{4}-[0-9]{2}-[0-9]{2}";
/**
* 开始时间
*/
public static final String START_TIME="startTime";
/**
* 结束时间
*/
public static final String END_TIME="endTime";
/**
* 根据时间查询:
* 参数格式为yyyy-MM-dd时,为开始和结束时间加上时分秒
* 使用:
* Map<String,String> timeMap = DateTimeUtils.addTime(startTime,endTime);
* timeMap.get(DateTimeUtils.START_TIME);
* timeMap.get(DateTimeUtils.END_TIME);
* @param startTime
* @param endTime
* @return
*/
public static Map<String,String> addTime(String startTime,String endTime){
Map<String,String> resultMap = new HashMap<>(2);
if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)){
//判断日期格式是否为yyyy-MM-dd,因为前端是控件,所以简单判断就好
boolean startMatcher = Pattern.matches(REGEX_DATE,startTime);
boolean endMatcher = Pattern.matches(REGEX_DATE,startTime);
if (startMatcher && endMatcher) {
startTime += " 00:00:00";
endTime += " 23:59:59";
}
}
resultMap.put(START_TIME,startTime);
resultMap.put(END_TIME,endTime);
return resultMap;
}
}
网友评论