private static final String SITUATION_yyyyMM = "yyyy-MM";
/** * 获取日期区间所有的年月 * 2021-8 */ public synchronized static long getDayMonths(String beginDateStr, String endDateStr) { dateFormat.applyPattern(SITUATION_yyyyMM); long days = -1; try { Date beginDate = dateFormat.parse(beginDateStr);//开始日期 Date endDate = dateFormat.parse(endDateStr);//结束日期 Calendar dd = Calendar.getInstance(); dd.setTime(beginDate); while (dd.getTime().before(endDate) || dd.getTime().equals(endDate)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M"); String str = sdf.format(dd.getTime()); System.out.println(str); dd.add(Calendar.MONTH, 1); } } catch (ParseException e) { e.printStackTrace(); } return days; } public static void main(String[] args) { getDayMonths("2020-01","2021-05"); }
输出结果: