给定
LocalTime
添加 n
分钟直到午夜并将这些时间打印到控制台。示例:
public static void main(String[] args) {
LocalTime start = LocalTime.of(10, 12, 0);
LocalTime midnight = LocalTime.of(23, 59, 59);
for (LocalTime t = start; t.isBefore(midnight); t = t.plusMinutes(30)) {
System.out.println(t);
}
}
预期:
10:12
10:42
11:12
11:42
12:12
...
...
21:42
22:12
22:42
23:12
23:42
上述结果导致无限循环。如何避免?
正如
LocalTime
文档所述,LocalTime is an immutable date-time object that represents a time, often viewed as hour-minute-second.
LocalTime
没有一天的概念,因此 23:59:59 是 LocalTime
的最大值。只有在经过几次添加开始后,循环最终变成 23:59:59 时才会停止。或者,您可以使用 LocalDateTime
让它知道这一天。