判断时间是否在某个时间段内

判断当前时间是否在时间段内(可隔天,也可不隔天)

public class TimeIntervalUtil {

    /**
     * 判断时间是否在某个时间段内
     *
     * @param nowTime 需要判断的时间,形如23:30:00 (可为空)
     * @param startTime 时间段开始时间,形如22:30:00
     * @param endTime 时间段结束时间,形如06:00:00
     * @return boolean
     */
    public static boolean isInTimeRange(String nowTime, String startTime, String endTime) {
        // 时间为空,默认赋值当前时间(时分秒)
        if (StrUtil.isBlank(nowTime)) {
            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("HH:mm");
            nowTime = LocalDateTime.now().format(pattern);
        }
        int set = Integer.valueOf(nowTime.replaceAll(":", ""));
        int begin = Integer.valueOf(startTime.replaceAll(":", ""));
        int end = Integer.valueOf(endTime.replaceAll(":", ""));
        if (begin > end) {
            return set < end || set > begin;
        } else {
            return set > begin && set < end;
        }
    }

    public static void main(String[] args) throws ParseException {

        boolean inTimeRange = isInTimeRange("11:50", "20:00", "08:00");
        System.out.println(inTimeRange);

        String str = DateTime.now().toTimeStr();
        System.out.println(str);

        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("HH:mm");
        String format = LocalDateTime.now().format(pattern);
        System.out.println(format);
        boolean inTimeRange1 = isInTimeRange(format, "20:00", "08:00");
        System.out.println(inTimeRange1);

        DateTime dateTime = DateUtil.endOfDay(DateUtil.date());
        System.out.println(dateTime);

    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容