引入 <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.9</version> </dependency>
public static List<String[]> converWeekList(LocalDate startDate, LocalDate endDate){ List<String[]> weekList = new ArrayList<>(); //转换成joda-time的对象 LocalDate firstDay = startDate.dayOfWeek().withMinimumValue(); LocalDate lastDay = endDate.dayOfWeek().withMaximumValue(); //计算两日期间的区间天数 Period p = new Period(firstDay, lastDay, PeriodType.days()); int days = p.getDays(); if (days > 0){ int weekLength = 7; for(int i=0;i<days;i=i+weekLength){ String monDay = ""; String sunDay = ""; if(i == 0){ monDay = String.valueOf(startDate); }else { monDay = firstDay.plusDays(i).toString("yyyy-MM-dd"); } if(i+weekLength < days){ sunDay = firstDay.plusDays(i+6).toString("yyyy-MM-dd"); }else { sunDay = String.valueOf(endDate); } String [] week = {monDay,sunDay}; weekList.add(week); } } return weekList; }