java,获得一个范围日期里面的每一个月份

RT,要获取到一个这个日期范围内的每一个月 ,该怎么做呢
问题已解决
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
Date d1 = new SimpleDateFormat("yyyy-MM").parse("2011-6");
Date d2 = new SimpleDateFormat("yyyy-MM").parse("2012-5");
Calendar dd = Calendar.getInstance();
dd.setTime(d1);
while(dd.getTime().before(d2)){
System.out.println(dd.getTime());
dd.add(Calendar.MONTH, 1);
}
}

可以通过日期的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

}

结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-23
如果是字符串格式的日期范围{'2010-11-01','2011-12-12'},可以用SimpleDateFormat把字符串转换成日期格式,然后用Calendar.get(Calendar.MONTH)获得月份,为了避免重复,可以用Set来存储月份,然后用Collections.sort()排序。具体代码你想想就知道了,这里就不写出来了。本回答被提问者采纳
相似回答