使用Java获取两个日期间所有月份的集合,测试代码如下,
public static void main(String[] args) {
DateFormat aa = DateFormat.getDateInstance();
Date date1 = null; // 开始日期
Date date2 = null; // 结束日期
try {
date1 = aa.parse("2009-10-01");
date2 = aa.parse("2010-08-01");
} catch (ParseException e) {
e.printStackTrace();
}
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
//定义集合存放月份
List list = new ArrayList();
//添加第一个月,即开始时间
list.add("2009-10");
c1.setTime(date1);
c2.setTime(date2);
while (c1.compareTo(c2) < 0) {
c1.add(Calendar.MONTH, 1);// 开始日期加一个月直到等于结束日期为止
Date ss = c1.getTime();
String str = aa.format(ss);
str = str.substring(0, str.l