一、完整源码
public static List<String> getDatesNoWeekend(String startDateStr, String endDateStr) {
List<String> result = new ArrayList<>();
Calendar startDay = Calendar.getInstance();
Calendar endDay = Calendar.getInstance();
startDay.setTime(string2Date(startDateStr, "yyyy-MM-dd"));
endDay.setTime(string2Date(endDateStr, "yyyy-MM-dd"));
while (startDay.before(endDay)) {
int week = startDay.get(Calendar.DAY_OF_WEEK);
if (7 != week && 1 != week) {
result.add(dateFormat(startDay.getTime(), "yyyy-MM-dd"));
}
startDay.add(Calendar.DAY_OF_YEAR, 1);
}
int week = endDay.get(Calendar.DAY_OF_WEEK);
if (7 != week && 1 != week) {
result.add(dateFormat(endDay.getTime(), "yyyy-MM-dd"));
}
return result;
}
public static final String dateFormat(Object date) {
return dateFormat(date, "yyyy-MM-dd");
}
public static final String dateFormat(Object date, String pattern) {
if (date == null) {
return null;
} else {
return pattern == null ? dateFormat(date) : (new SimpleDateFormat(pattern)).format(date);
}
}
public static Date string2Date(String source, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
return sdf.parse(source);
} catch (ParseException var4) {
var4.printStackTrace();
return new Date();
}
}
二、测试结果
