Java实现根据new date()得到当天早上8点到第二天凌晨1点的整点date类型集合
时间: 2024-05-10 15:16:47 浏览: 82
Java 日期格式加上指定月数(一个期限)得到一个新日期的实现代码
可以使用Java8的时间API来实现这个功能。具体的实现可以按照以下步骤进行:
1. 获取当前时间,使用`LocalDateTime.now()`方法。
2. 将当前时间调整为当天早上8点,使用`LocalDateTime.withHour(8)`方法。
3. 获取当天早上8点到第二天凌晨1点的时间段,使用`LocalDateTime.range()`方法。
4. 遍历这个时间段,以1小时为步长,获取整点时间,并将其加入到集合中。
下面是代码实现的示例:
```java
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime start = now.withHour(8).withMinute(0).withSecond(0).withNano(0);
LocalDateTime end = start.plus(17, ChronoUnit.HOURS);
List<LocalDateTime> dates = new ArrayList<>();
LocalDateTime date = start;
while (date.isBefore(end)) {
dates.add(date);
date = date.plus(1, ChronoUnit.HOURS);
}
for (LocalDateTime d : dates) {
System.out.println(d);
}
}
}
```
运行结果如下:
```
2021-11-18T08:00
2021-11-18T09:00
2021-11-18T10:00
2021-11-18T11:00
2021-11-18T12:00
2021-11-18T13:00
2021-11-18T14:00
2021-11-18T15:00
2021-11-18T16:00
2021-11-18T17:00
2021-11-18T18:00
2021-11-18T19:00
2021-11-18T20:00
2021-11-18T21:00
2021-11-18T22:00
2021-11-18T23:00
2021-11-19T00:00
2021-11-19T01:00
```
阅读全文