java.util.Date系列之(判断当前时间是否在指定范围内)

业务需求:判断当前日期时间是否在某个指定范围之内,给用户展示不同的东西(数据)

package com.date.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author: libo
 * @date: 2020/9/27  15:21
 * @motto: 即使再小的帆也能远航
 */
public class judgeDate {

    /*判断当前时间是否在某个时间段范围之内*/
    public static boolean isEffectiveDate() throws ParseException {

        /*获取当天日期*/
        Date date = new Date();
        /*设置日期格式*/
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        /*将日期转为字符串*/
        String today = df.format(date);


        /*设置日期格式*/
        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm");

        /*设置时间范围  判断当前时间是否在00点以后到08点之间*/
        /*将字符串日期转为Date*/
        Date startTime = ft.parse(today + " 00:00");//startTime:开始时间
        Date endTime = ft.parse(today + " 08:00");//endTime:结束时间

        Date nowTime = new Date();

		/*返回結果为true:当前时间在范围内	fales:当前时间不在范围内*/
        boolean effectiveDate = isEffectiveDate2(nowTime, startTime, endTime);

        return effectiveDate;
    }


    public static boolean isEffectiveDate2(Date nowTime, Date startTime, Date endTime) {
        if (nowTime.getTime() == startTime.getTime()
                || nowTime.getTime() == endTime.getTime()) {
            return true;
        }

        Calendar date = Calendar.getInstance();
        date.setTime(nowTime);

        Calendar begin = Calendar.getInstance();
        begin.setTime(startTime);

        Calendar end = Calendar.getInstance();
        end.setTime(endTime);

        if (date.after(begin) && date.before(end)) {
            return true;
        } else {
            return false;
        }
    }

}
希望只在一瞬之间,而黑暗,永恒。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值