给定两个日期(string),遍历之间的所有日期
给定String或者Date类型的开始和结束日期,返回之间的日期列表
public class CalendarUtil {
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
/**
* 给定开始和结束时间,遍历之间的所有日期
*
* @param startAt 开始时间,例:2017-04-04
* @param endAt 结束时间,例:2017-04-11
* @return 返回日期数组
*/
public static List<String> queryData(String startAt, String endAt) {
List<String> dates = new ArrayList<>();
try {
Date startDate = dateFormat.parse(startAt);
Date endDate = dateFormat.parse(endAt);
dates.addAll(queryData(startDate, endDate));
} catch (ParseException e) {
e.printStackTrace();
}
return dates;
}
/**
* 给定开始和结束时间,遍历之间的所有日期
*
* @param startAt 开始时间,例:2017-04-04
* @param endAt 结束时间,例:2017-04-11
* @return 返回日期数组
*/
public static List<String> queryData(Date startAt, Date endAt) {
List<String> dates = new ArrayList<>();
Calendar start = Calendar.getInstance();
start.setTime(startAt);
Calendar end = Calendar.getInstance();
end.setTime(endAt);
while (start.before(end) || start.equals(end)) {
dates.add(dateFormat.format(start.getTime()));
start.add(Calendar.DAY_OF_YEAR, 1);
}
return dates;
}
}