Java判断LocalTime是否在午夜

时间:2021-07-27 17:44:48

判断LocalTime是否在午夜,可以判断时间是否在23:59和00:01之间。

代码如下:

private final LocalTime ONE_MINUTE_BEFORE_MIDNIGHT = LocalTime.of(23, 59, 0);
private final LocalTime ONE_MINUTE_AFTER_MIDNIGHT = LocalTime.of(0, 1, 0);

public boolean isAtMidnight(LocalTime time) {
    return time.isAfter(ONE_MINUTE_BEFORE_MIDNIGHT) || time.isBefore(ONE_MINUTE_AFTER_MIDNIGHT);
}

需要注意的是时间在23:59之后,但在00:01之前这两个条件是或逻辑“||”,而不是与逻辑“&&”这是因为LocalTime.isAfter() 或者 LocalTime.isBefore()都是假设比较的时间是在同一天。