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;
}
本文介绍了一个简单的Java程序,用于生成指定开始日期到结束日期之间的所有日期列表。通过使用Calendar类和SimpleDateFormat,程序能够准确地从起始日期遍历到结束日期,并将每个日期添加到列表中。
5万+

被折叠的 条评论
为什么被折叠?



