获取年份加周之间的所有周数(可以跨年)
public static List<String> getWeekBetween(String startWeek, String endWeek) {
int startYear = Integer.parseInt(startWeek.substring(0,4));
int endYear = Integer.parseInt(endWeek.substring(0,4));
List<String> list = new ArrayList<>();
int count = endYear - startYear;
String stratWeekNum = startWeek.substring(startWeek.lastIndexOf("-") + 1);
String endWeekNum = endWeek.substring(endWeek.lastIndexOf("-") + 1);
if(count == 0){
for (int i = Integer.parseInt(stratWeekNum); i<=Integer.parseInt(endWeekNum);i++ ){
String yearWeek = startYear + "-" + i;
list.add(yearWeek);
}
}else{
int startWeeks = getAllWeeks(String.valueOf(startYear));
int endWeeks = getAllWeeks(String.valueOf(endYear));
for(int i = Integer.parseInt(stratWeekNum); i<= startWeeks;i++ ){
String yearWeek = startYear + "-" + i;
list.add(yearWeek);
}
for(int i = 1 ; i < count ; i++ ){
int allWeeks = getAllWeeks(String.valueOf(startYear+1));
for (int j = 1 ; j <= allWeeks ; j++){
list.add(startYear + i+"-"+j);
}
}
for(int i = 1; i<= Integer.parseInt(endWeekNum) ; i++ ){
if(i == 0){
break;
}
String yearWeek = endYear + "-" + i;
list.add(yearWeek);
}
}
return list;
}