Java 判断一个时间是否在另一个时间段内

时间:2022-02-05 03:58:53

      需求:当时间在凌晨0点至0点5分之间程序不执行。

  也就是实现判断当前时间点是否在00:00:00至00:05:00之间

  方法:

  Java代码 :

?
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/**
 
* 判断时间是否在时间段内 *
 
* @param date
 
* 当前时间 yyyy-MM-dd HH:mm:ss
 
* @param strDateBegin
 
* 开始时间 00:00:00
 
* @param strDateEnd
 
* 结束时间 00:05:00
 
* @return
 
*/
 
public static boolean isInDate(Date date, String strDateBegin,
 
String strDateEnd) {
 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
String strDate = sdf.format(date);
 
// 截取当前时间时分秒
 
int strDateH = Integer.parseInt(strDate.substring(11, 13));
 
int strDateM = Integer.parseInt(strDate.substring(14, 16));
 
int strDateS = Integer.parseInt(strDate.substring(17, 19));
 
// 截取开始时间时分秒
 
int strDateBeginH = Integer.parseInt(strDateBegin.substring(0, 2));
 
int strDateBeginM = Integer.parseInt(strDateBegin.substring(3, 5));
 
int strDateBeginS = Integer.parseInt(strDateBegin.substring(6, 8));
 
// 截取结束时间时分秒
 
int strDateEndH = Integer.parseInt(strDateEnd.substring(0, 2));
 
int strDateEndM = Integer.parseInt(strDateEnd.substring(3, 5));
 
int strDateEndS = Integer.parseInt(strDateEnd.substring(6, 8));
 
if ((strDateH >= strDateBeginH && strDateH <= strDateEndH)) {
 
// 当前时间小时数在开始时间和结束时间小时数之间
 
if (strDateH > strDateBeginH && strDateH < strDateEndH) {
 
return true;
 
// 当前时间小时数等于开始时间小时数,分钟数在开始和结束之间
 
} else if (strDateH == strDateBeginH && strDateM >= strDateBeginM
 
&& strDateM <= strDateEndM) {
 
return true;
 
// 当前时间小时数等于开始时间小时数,分钟数等于开始时间分钟数,秒数在开始和结束之间
 
} else if (strDateH == strDateBeginH && strDateM == strDateBeginM
 
&& strDateS >= strDateBeginS && strDateS <= strDateEndS) {
 
return true;
 
}
 
// 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数小等于结束时间分钟数
 
else if (strDateH >= strDateBeginH && strDateH == strDateEndH
 
&& strDateM <= strDateEndM) {
 
return true;
 
// 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数等于结束时间分钟数,秒数小等于结束时间秒数
 
} else if (strDateH >= strDateBeginH && strDateH == strDateEndH
 
&& strDateM == strDateEndM && strDateS <= strDateEndS) {
 
return true;
 
} else {
 
return false;
 
}
 
} else {
 
return false;
 
}
 
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!