java怎么取出日期区间的所有日期
时间: 2024-05-11 21:19:20 浏览: 39
可以使用 Java 8 中的 LocalDate 类来实现。具体步骤如下:
1. 使用 LocalDate 的 parse() 方法将起始日期和结束日期转换为 LocalDate 类型。
2. 使用 Duration 类计算起始日期和结束日期之间的天数,并将其转换为 int 类型。
3. 使用 LocalDate 的 plusDays() 方法以起始日期为基础,循环遍历每一天,并将其加入到一个日期列表中。
4. 返回日期列表。
下面是一个示例代码:
```java
import java.time.LocalDate;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
public class DateRange {
public static List<LocalDate> getDatesBetween(LocalDate startDate, LocalDate endDate) {
List<LocalDate> dates = new ArrayList<>();
int days = (int) Duration.between(startDate.atStartOfDay(), endDate.atStartOfDay()).toDays();
for (int i = 0; i <= days; i++) {
LocalDate date = startDate.plusDays(i);
dates.add(date);
}
return dates;
}
public static void main(String[] args) {
LocalDate startDate = LocalDate.parse("2022-01-01");
LocalDate endDate = LocalDate.parse("2022-01-10");
List<LocalDate> dates = getDatesBetween(startDate, endDate);
for (LocalDate date : dates) {
System.out.println(date);
}
}
}
```
输出:
```
2022-01-01
2022-01-02
2022-01-03
2022-01-04
2022-01-05
2022-01-06
2022-01-07
2022-01-08
2022-01-09
2022-01-10
```