import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Test {
private static final String START_TIME = "20:00";
private static final String END_TIME = "6:00";
public static void main(String[] args) {
if(isExecuteTime(START_TIME,END_TIME)){
System.out.println("执行任务逻辑");
}else {
System.out.println("非执行时间");
}
}
public static boolean isExecuteTime(String start,String end){
LocalTime startTime = LocalTime.parse(start, DateTimeFormatter.ofPattern("H:m"));
LocalTime endTime = LocalTime.parse(end, DateTimeFormatter.ofPattern("H:m"));
LocalTime now = LocalTime.now();
if(startTime.isAfter(endTime)){
return now.isBefore(endTime) || now.isAfter(startTime);
}else if(startTime.isBefore(endTime)){
return now.isAfter(startTime) && now.isBefore(endTime);
}
return true;
}
}