美文网首页
日期加上时间

日期加上时间

作者: 莫须有的呓语 | 来源:发表于2020-06-23 16:13 被阅读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;
        }
    }
    

    相关文章

      网友评论

          本文标题:日期加上时间

          本文链接:https://www.haomeiwen.com/subject/edshfktx.html