java8 判断是否在时间段
时间: 2023-11-24 16:08:54 浏览: 83
在Java 8中,可以使用`java.time`包的`LocalTime`和`Duration`类来判断时间段。
例如,假设我们需要判断当前时间是否在每天的9:00到17:00之间:
```java
LocalTime startTime = LocalTime.of(9, 0);
LocalTime endTime = LocalTime.of(17, 0);
LocalTime currentTime = LocalTime.now();
if (currentTime.isAfter(startTime) && currentTime.isBefore(endTime)) {
System.out.println("当前时间在时间段内");
} else {
System.out.println("当前时间不在时间段内");
}
```
如果我们需要判断一个给定的时间是否在某个时间段内,可以使用`Duration`类来计算时间差,例如:
```java
LocalTime startTime = LocalTime.of(9, 0);
LocalTime endTime = LocalTime.of(17, 0);
LocalTime givenTime = LocalTime.of(13, 30);
Duration durationBeforeStart = Duration.between(startTime, givenTime);
Duration durationAfterEnd = Duration.between(givenTime, endTime);
if (durationBeforeStart.isNegative() || durationAfterEnd.isNegative()) {
System.out.println("给定时间不在时间段内");
} else {
System.out.println("给定时间在时间段内");
}
```
在上面的例子中,我们通过计算给定时间与时间段的起始时间和结束时间之间的时间差来判断给定时间是否在时间段内。如果时间差为负,则说明给定时间早于时间段的起始时间或晚于时间段的结束时间,因此不在时间段内。否则,给定时间在时间段内。
阅读全文