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;
}
}
}
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
手写实现call方法和apply方法
