一个起始日期beginDate 一个结束日期 endDate 需要一个函数,接收这两个参数,输出他们之间所有月份的第一天至最后一天比如:
beginDate = 2006-08-13
endDate = 2006-11-10则最后的结果应该是
2006-08-13 至 2006-08-31
2006-09-01 至 2006-09-30
2006-10-01 至 2006-10-31
2006-11-01 至 2006-11-10要注意月份的大小,和跨年度的情况。求此问题的解。谢谢
beginDate = 2006-08-13
endDate = 2006-11-10则最后的结果应该是
2006-08-13 至 2006-08-31
2006-09-01 至 2006-09-30
2006-10-01 至 2006-10-31
2006-11-01 至 2006-11-10要注意月份的大小,和跨年度的情况。求此问题的解。谢谢
endDate = sdf.parse("2006-11-10");for(Date tempDate = new Date(beginDate.getTime());tempDate.before(endDate);tempDate.setDate(tempDate.getDate()+1)){
System.out.println(sdf.format(tempDate));
}
endDate = sdf.parse("2006-11-10");for(Date tempDate = new Date(beginDate.getTime());tempDate.before(endDate);tempDate.setDate(tempDate.getDate()+1)){
System.out.println(sdf.format(tempDate));
}
正解
Date beginDate = sdf.parse("2006-08-13");
Date endDate = sdf.parse("2006-08-31");
System.out.print(sdf.format(beginDate)+" to ");for (Date tempDate = new Date(beginDate.getTime()); tempDate.before(endDate); tempDate.setDate(tempDate.getDate() + 1)) {
if (tempDate.getDate() == 1) {
Date d = new Date(tempDate.getTime());
d.setDate(tempDate.getDate() - 1);
System.out.println(sdf.format(d));
System.out.print(sdf.format(tempDate)+" to ");
}}System.out.print(sdf.format(endDate));接分