【发布时间】:2022-02-07 20:26:40
【问题描述】:
我正在处理请假申请。 我需要两个日期之间所有日期的列表。但我不能这样做。
【问题讨论】:
-
Edit 您的问题并发布示例两个日期。然后根据这两个日期发布您想要获得的列表。
-
这个问题之前已经被问过了。请搜索。
我正在处理请假申请。 我需要两个日期之间所有日期的列表。但我不能这样做。
【问题讨论】:
结帐,如果这对您有帮助:
import java.time.LocalDate;
import java.util.LinkedList;
import java.util.List;
public class DateManager {
public DateManager() {
}
public List<LocalDate> getLocalDateListBetween(LocalDate date1, LocalDate date2) {
List<LocalDate> list = new LinkedList<>();
//return empty list, if same days
if(date1.isEqual(date2)) return list;
//swap days if wrong order
if(date1.isAfter(date2)) {
LocalDate temp = date1;
date1 = date2;
date2 = temp;
}
list.add(date1);//remove this, if you don't want first Date to be in List
while(!date1.isEqual(date2)) {
date1 = date1.plusDays(1);
list.add(date1);
}
return list;
}
}
像这样从任何地方调用:
public static void main(String[] args) {
//localdate: year-month-day
LocalDate date1 = LocalDate.parse("2021-05-05");
LocalDate date2 = LocalDate.parse("2021-05-10");
DateManager manager = new DateManager();
System.out.println(manager.getLocalDateListBetween(date1, date2));
}
【讨论】: