根据星期获取时间范围内的日期集合
/**
*
* @param weekTime 周几,“1,2,3”周一周二周三,
* @param effectDate 起始时间
* @param invalidDate 结束时间
* @return
*/
public static List<String> getDayOfWeek(String weekTime,String effectDate,String invalidDate){
List<String> dayResult = new ArrayList<>();
Date begin = DateUtil.parse(effectDate, DateUtil.DEFAULT);
Date end = DateUtil.parse(invalidDate, DateUtil.DEFAULT);
while(begin.before(end)) {
Calendar cal = Calendar.getInstance();
cal.setTime(begin);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK)-1;
if(dayOfWeek==0) {
dayOfWeek = 7;
}
if(weekTime.contains(dayOfWeek+"")) {
dayResult.add(DateUtil.format(begin, DateUtil.yyyy_MM_dd));
}
cal.add(Calendar.DATE, 1);
begin = cal.getTime();
}
return dayResult;
}
public static void main(String[] args) {
String weekTime = "3,4,5";
String effectDate = "2020-09-09 00:00:00";
String invalidDate = "2021-11-09 23:59:59";
Test test=new Test();
test.getDayOfWeek(weekTime,effectDate,invalidDate);
}