public class DailyReport {
private final static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) {
setDateSpace("2012-06-25", "2012-08-02");
}
private static void setDateSpace(String startDate, String endDate){
try {
Date start = dateFormat.parse(startDate);
Date end = dateFormat.parse(endDate);
List<String> dateStamp = new ArrayList<String>();
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(start);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(end);
if(endCalendar.compareTo(startCalendar) < 0){
throw new RuntimeException("开始时间必须小于结束时间!");
}
int endYear = endCalendar.get(Calendar.YEAR);
int endMonth = endCalendar.get(Calendar.MONTH);
int endDay = endCalendar.get(Calendar.DAY_OF_MONTH);
while(true){
int startYear = startCalendar.get(Calendar.YEAR);
int startMonth = startCalendar.get(Calendar.MONTH);
int startDay = startCalendar.get(Calendar.DAY_OF_MONTH);
if(startYear < endYear){
dateStamp.add(startYear+ "." + ++startMonth + "." + startDay);
}else if(startMonth < endMonth){
dateStamp.add(++startMonth + "." + startDay);
}else if(startDay < endDay){
dateStamp.add(++startMonth + "." + startDay);
}else if(startDay == endDay){
dateStamp.add(++startMonth + "." + startDay);
break;
}
startCalendar.add(Calendar.DAY_OF_MONTH, +1);
}
for (String y : dateStamp) {
System.out.println(y);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
output:
6.25
6.26
6.27
6.28
6.29
6.30
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
7.20
7.21
7.22
7.23
7.24
7.25
7.26
7.27
7.28
7.29
7.30
7.31
8.1
8.2