如何求两个日期之间的每一天

如何求任意两个时间段之间的每一天呢。如2008-05-28到2008-06-06之间的2008-05-29,2008-05-30,2008-05-31,2008-06-01,2008-06-02,2008-06-03,2008-06-04,2008-06-05

[code="java"]
/**
* 获得日期字符串数组
* @param calendarType 日期跨度的类型,
* */

public static Date[] getDateArrays(Date start,Date end ,int calendarType){
    ArrayList<Date> ret = new ArrayList<Date>();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(start);
    Date tmpDate = calendar.getTime();
    long endTime = end.getTime();
    while(tmpDate.before(end)||tmpDate.getTime() == endTime){
        ret.add(calendar.getTime());
        calendar.add(calendarType, 1);
        tmpDate = calendar.getTime();
    }       

    Date[] dates = new Date[ret.size()];
    return ret.toArray(dates);      
}

@Test
public void getDateArrays2(){
Date date = DateUtils.getDate("2008-04-01");
Date date2 = DateUtils.getDate("2008-08-01");
Date[] strArray = DateUtils.getDateArrays(date, date2, Calendar.DAY_OF_YEAR);
for (Date string : strArray) {
System.out.println(DateUtils.getDayStr(string));
}
}
[/code]

参考jdk中文文档 日历类

Calendar

[code="java"]
Date one = new Date();
System.out.println("Start-> " + one.toString());

Calendar calendarTwo = Calendar.getInstance();
calendarTwo.setTime(one);
calendarTwo.add(Calendar.DAY_OF_YEAR, 10);

Date two = calendarTwo.getTime();
System.out.println("End-> " + two.toString());

Date temp = one;
while (temp.before(two)) {
System.out.println(temp.toString());

Calendar calendarOne = Calendar.getInstance();
calendarOne.setTime(temp);

calendarOne.add(Calendar.DAY_OF_YEAR, 1);
temp = calendarOne.getTime();

}
[/code]

[code="java"]Start-> Fri Jun 20 09:51:50 CST 2008
End-> Mon Jun 30 09:51:50 CST 2008
Fri Jun 20 09:51:50 CST 2008
Sat Jun 21 09:51:50 CST 2008
Sun Jun 22 09:51:50 CST 2008
Mon Jun 23 09:51:50 CST 2008
Tue Jun 24 09:51:50 CST 2008
Wed Jun 25 09:51:50 CST 2008
Thu Jun 26 09:51:50 CST 2008
Fri Jun 27 09:51:50 CST 2008
Sat Jun 28 09:51:50 CST 2008
Sun Jun 29 09:51:50 CST 2008[/code]