可以通过日期的add(Calendar.MONTH, 1)方法进行月份切换,输出每个满足条件的值
Date d1 = new SimpleDateFormat("yyyy-MM").parse("2015-6");//定义起始日期
Date d2 = new SimpleDateFormat("yyyy-MM").parse("2016-5");//定义结束日期
Calendar dd = Calendar.getInstance();//定义日期实例
dd.setTime(d1);//设置日期起始时间
while(dd.getTime().before(d2)){//判断是否到结束日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String str = sdf.format(dd.getTime());
System.out.println(str);//输出日期结果
dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
}
结果:
如果是字符串格式的日期范围{'2010-11-01','2011-12-12'},可以用SimpleDateFormat把字符串转换成日期格式,然后用Calendar.get(Calendar.MONTH)获得月份,为了避免重复,可以用Set来存储月份,然后用Collections.sort()排序。具体代码你想想就知道了,这里就不写出来了。