日期加上时间

2020-06-23  本文已影响0人  莫须有的呓语

用来处理前端传回的时间段如"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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读