java判断某个日期在两个日期之间(区间) (包含或不包含两个日期)

我们先来看看用的API方法

这里的话看你传递的参数, 如果传递的是Date,那么可以使用, new Date().getTime()返回的long来判断,简单明了,但是要注意时间的干扰。 如果传递的是LocalDate ,那么可以按照如下方式: 主要是应用了这几个方法 

 

 

 

code:

 /**
    * <per>
    * <p>判断日期是否在指定日期区间 ,默认闭区间</p>
    * <per/>
    * @param dateStart
    * @param dateEnd
    * @param data
    * @return boolean
    * @throws
    * @Description : TODO Determining whether the date specified date range . default closed interval
    *                TODO 0: [date Start, date End] | 1: (date Start, date End) | 2:(date Start, date End ] | 3 :[date Start, date End)
    * @author Liruilong
    * @Date 2020/11/5 14:07
    **/
    public static boolean isContainDate(LocalDate dateStart,LocalDate dateEnd, String... data) {
        boolean b = false;
        final LocalDate planDate =LocalDate.parse(data[0]);
        String interval =  data.length > 1 ? data[1]:"0";
        switch (interval){
            case "0":{
                b =  ( planDate.isAfter(dateStart) && planDate.isBefore(dateEnd) )|| planDate.isEqual(dateEnd) || planDate.isEqual(dateStart);
                }break;
            case "1":{
                b =  ( planDate.isAfter(dateStart) && planDate.isBefore(dateEnd) );
                }break;
            case "2":{
                b =  ( planDate.isAfter(dateStart) && planDate.isBefore(dateEnd) ) || planDate.isEqual(dateEnd);
                }break;
            case "3":{
                b =  ( planDate.isAfter(dateStart) && planDate.isBefore(dateEnd) ) || planDate.isEqual(dateStart);
                }break;
            default:break;
        }
        return b;
    }

 

posted @ 2020-11-09 12:52  山河已无恙  阅读(8622)  评论(0编辑  收藏  举报