判斷時間是否在某個時間段內

判斷當前時間是否在時間段內(可隔天,也可不隔天)

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);

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章