可以使用LocalDate
类来获取两个日期之间的所有日期。
import java.time.LocalDate; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; public class DateRange { public static ListgetDatesBetween(LocalDate startDate, LocalDate endDate) { List dates = new ArrayList<>(); long numOfDays = ChronoUnit.DAYS.between(startDate, endDate); for (int i = 0; i <= numOfDays; i++) { LocalDate date = startDate.plusDays(i); dates.add(date); } return dates; } public static void main(String[] args) { LocalDate startDate = LocalDate.of(2022, 1, 1); LocalDate endDate = LocalDate.of(2022, 1, 10); List dates = getDatesBetween(startDate, endDate); for (LocalDate date : dates) { System.out.println(date); } } }
在上面的示例中,我们定义了一个静态方法getDatesBetween()
,它接受两个LocalDate
参数,即起始日期和结束日期。然后使用ChronoUnit.DAYS.between()
方法计算这两个日期之间的天数差。接下来,使用循环从起始日期开始,逐个增加一天,直到结束日期,并将每个日期添加到一个List
中。最后,将这个列表返回。
在main()
方法中,我们定义了起始日期和结束日期,并调用getDatesBetween()
方法获取两个日期之间的所有日期。然后,使用循环输出每个日期。运行代码,你将会看到以下输出:
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
这样你就可以获取两个日期之间的所有日期了。