判断当前时间是否在指定范围时间内,支持跨天判断时间

/**
     * 判断当前时间是否在指定范围时间内
     *
     * @param businessTime 时间段  12:00--13:00
     * @return true-在  false-不在
     */
    public static Boolean judgeTheTimeRange(String businessTime) {
        try {
            String[] times = businessTime.split("--");
            String[] time1 = times[0].split(":");
            String[] time2 = times[1].split(":");
            //当前时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.setTime(new Date());
            //开始时间
            Calendar min = Calendar.getInstance();
            min.set(Calendar.YEAR, currentDate.get(Calendar.YEAR));
            min.set(Calendar.MONTH, currentDate.get(Calendar.MONTH));
            min.set(Calendar.DAY_OF_MONTH, currentDate.get(Calendar.DAY_OF_MONTH));
            min.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time1[0]));
            min.set(Calendar.MINUTE, Integer.parseInt(time1[1]));
            min.set(Calendar.SECOND, 0);
            min.set(Calendar.MILLISECOND, 0);
            //结束时间
            Calendar max = Calendar.getInstance();
            max.set(Calendar.YEAR, currentDate.get(Calendar.YEAR));
            max.set(Calendar.MONTH, currentDate.get(Calendar.MONTH));
            max.set(Calendar.DAY_OF_MONTH, currentDate.get(Calendar.DAY_OF_MONTH));
            max.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time2[0]));
            max.set(Calendar.MINUTE, Integer.parseInt(time2[1]));
            max.set(Calendar.SECOND, 0);
            max.set(Calendar.MILLISECOND, 0);

            if (max.getTimeInMillis() >= min.getTimeInMillis()) {
                if (currentDate.getTimeInMillis() >= min.getTimeInMillis() && currentDate.getTimeInMillis() <= max.getTimeInMillis()) {
                    return true;
                } else {
                    return false;
                }
            } else {
                max.set(Calendar.DAY_OF_MONTH, currentDate.get(Calendar.DAY_OF_MONTH) + 1);
                if (currentDate.getTimeInMillis() >= min.getTimeInMillis() && currentDate.getTimeInMillis() <= max.getTimeInMillis()) {
                    return true;
                } else {
                    return false;
                }
            }
        } catch (Exception e) {
            return false;
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值