java 判断当前时间是否在9:00至下午15:30 晚上20:00至次日凌晨2:30
时间: 2024-09-15 19:01:58 浏览: 51
在Java中,我们可以利用`java.time`包下的`LocalTime`类来判断当前时间是否在这个时间段内。首先,你需要导入`java.time.LocalTime`和`java.time.temporal.ChronoUnit`:
```java
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class TimeCheck {
public static boolean isWithinBusinessHours() {
LocalTime now = LocalTime.now(); // 获取当前时间
// 定义工作日的时间段
LocalTime startOfDay = LocalTime.of(9, 0); // 上午9点开始
LocalTime endOfDay = LocalTime.of(17, 30); // 下午5点半结束
LocalTime eveningStart = LocalTime.of(20, 0); // 晚上8点开始
LocalTime morningEnd = LocalTime.of(2, 30); // 凌晨2点半结束(次日)
// 使用ChronoUnit.between计算两个时间之间的差距
int businessHourDiff = ChronoUnit.HOURS.between(startOfDay, endOfDay);
int eveningDiff = ChronoUnit.HOURS.between(endingNight, morningStart);
// 如果现在时间在正常工作时间内,或者在晚上工作时间范围内
return now.isAfter(startOfDay) && (now.isBefore(endOfDay) || (now.isAfter(eveningStart) && now.isBefore(morningEnd)));
}
}
```
这个函数会检查当前时间是否在指定的工作时间和晚上的加班时间段内。如果在,返回`true`,否则返回`false`。
阅读全文