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

本文最后更新于:2023年11月9日 晚上

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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;
}
}

}
希望只在一瞬之间,而黑暗,永恒。

java.util.Date系列之(判断当前时间是否在指定范围内)
http://example.com/2020/10/02/java.util.Date系列之(判断当前时间是否在指定范围内)/
作者
阿波~
发布于
2020年10月2日
更新于
2023年11月9日
许可协议