方法一:
// 日期用Calendar 比较方便操作, 也不用自己去处理每个月最大天数之类的问题. Calendar calendar = new GregorianCalendar(); for (int i = 0; i < 7; i++) { int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // Jan = 0, not 1 int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(year + "/" + month + "/" + dayOfMonth); calendar.add(Calendar.DAY_OF_WEEK, 1); }
输出:
2017/10/20
2017/10/21
2017/10/22
2017/10/23
2017/10/24
2017/10/25
2017/10/26
------------------
方法二
try { Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse("2017-10-20");// 定义起始日期 Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse("2017-11-01");// 定义结束日期 Calendar dd = Calendar.getInstance();// 定义日期实例 dd.setTime(d1);// 设置日期起始时间 while (dd.getTime().before(d2)) {// 判断是否到结束日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String str = sdf.format(dd.getTime()); System.out.println(str);// 输出日期结果 dd.add(Calendar.DATE, 1);// 进行当前日期天数加1 // dd.add(Calendar.MONTH,1);//进行当前日期月份加1 // dd.add(calendar.YEAR,1);//进行当前日期年份加1 } } catch (Exception e) { }
输出:
2017-10-20
2017-10-21
2017-10-22
2017-10-23
2017-10-24
2017-10-25
2017-10-26
2017-10-27
2017-10-28
2017-10-29
2017-10-30
2017-10-31