如果当前日期在07:50:00' - 17:00:00';执行a方法 如果时间在17:00:00' 01:30:00',就要分情况如果当前时间在17:00-23:59那就是 当天的17点到第二天的01点,如果当前时间在00点之后那就是昨天的17点-当天的01-30 如果时间在01:30 -07:50那就是当天的时间01:30-当天的时间07:50 使用java
时间: 2023-12-03 18:43:02 浏览: 45
可以使用Java中的LocalTime类来处理时间,然后根据时间范围执行不同的方法。具体实现如下:
```java
import java.time.LocalTime;
public class TimeBasedExecution {
public static void main(String[] args) {
LocalTime currentTime = LocalTime.now();
LocalTime startWorkTime = LocalTime.of(7, 50);
LocalTime endWorkTime = LocalTime.of(17, 0);
LocalTime endDayTime = LocalTime.of(1, 30);
if (currentTime.isAfter(startWorkTime) && currentTime.isBefore(endWorkTime)) {
// 当前时间在工作时间内
a();
} else if (currentTime.isAfter(endWorkTime) && currentTime.isBefore(endDayTime)) {
// 当前时间在17:00 - 01:30范围内
if (currentTime.isBefore(LocalTime.of(23, 59))) {
// 当前时间在当天的17点到第二天的01点之间
b();
} else {
// 当前时间在第二天的00点到01点30之间
c();
}
} else if (currentTime.isAfter(endDayTime) || currentTime.isBefore(startWorkTime)) {
// 当前时间在01:30 - 07:50范围内
d();
}
}
private static void a() {
System.out.println("执行a方法");
}
private static void b() {
System.out.println("执行b方法");
}
private static void c() {
System.out.println("执行c方法");
}
private static void d() {
System.out.println("执行d方法");
}
}
```
在上述代码中,我们先使用LocalTime.now()获取当前时间。然后根据时间范围分别执行不同的方法。其中,a()方法在工作时间内执行,b()和c()方法在17:00 - 01:30范围内执行,d()方法在01:30 - 07:50范围内执行。