java 获取今天0点到现在的所有小时数集合,要求24小时制
时间: 2024-02-01 18:04:29 浏览: 32
你可以使用Java的DateTime API来获取今天0点到现在的所有小时数的集合,并将其转换为24小时制。以下是一个示例代码:
```java
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime midnight = now.toLocalDate().atStartOfDay();
List<String> hoursList = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH");
for (int i = 0; i <= now.getHour(); i++) {
String hour = midnight.plusHours(i).format(formatter);
hoursList.add(hour);
}
System.out.println("从今天0点到现在的小时数集合为:" + hoursList);
}
}
```
在这个示例中,我们首先获取当前时间 `now`,然后使用 `toLocalDate().atStartOfDay()` 方法将其转换为今天0点的时间 `midnight`。接下来,我们创建一个空的字符串列表 `hoursList`,并使用一个for循环来遍历从0点到现在的每一个小时,将小时数添加到列表中。在每个小时数添加到列表时,我们将其转换为24小时制的字符串,并使用 `DateTimeFormatter` 类的 `ofPattern()` 方法指定格式化模式。最后,我们打印出结果。