public static void main(String[] args)throws Exception {
Calendar cal = Calendar.getInstance();
String start = "2007-05-03";
String end = "2008-07-03";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dBegin =sdf.parse(start);
Date dEnd = sdf.parse(end);
List<Date>lDate = test.findDates(dBegin, dEnd);
for(Date date:lDate){
System.out.println(sdf.format(date));
}
}
public static List<Date> findDates(Date dBegin, Date dEnd) {
List lDate = new ArrayList();
lDate.add(dBegin);
Calendar cal = Calendar.getInstance();
//使用给定的 Date 设置此 Calendar 的时间
cal.setTime(dBegin);
boolean bContinue = true;
while (bContinue) {
//根据日历的规则,为给定的日历字段添加或减去指定的时间量
cal.add(Calendar.DAY_OF_MONTH, 1);
// 测试此日期是否在指定日期之后
if (dEnd.after(cal.getTime())) {
lDate.add(cal.getTime());
} else {
break;
}
}
lDate.add(dEnd);
return lDate;
}