String y1 = "2016-02";// 開始時間 String y2 = "2019-12";// 結束時間 try { Date startDate = new SimpleDateFormat("yyyy-MM").parse(y1); Date endDate = new SimpleDateFormat("yyyy-MM").parse(y2); Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); // 獲取開始年份和開始月份 int startYear = calendar.get(Calendar.YEAR); int startMonth = calendar.get(Calendar.MONTH); // 獲取結束年份和結束月份 calendar.setTime(endDate); int endYear = calendar.get(Calendar.YEAR); int endMonth = calendar.get(Calendar.MONTH); // List<String> list = new ArrayList<String>(); for (int i = startYear; i <= endYear; i++) { String date = ""; if (startYear == endYear) { for (int j = startMonth; j <= endMonth; j++) { if (j < 9) { date = i + "-0" + (j + 1); } else { date = i + "-" + (j + 1); } list.add(date); } } else { if (i == startYear) { for (int j = startMonth; j < 12; j++) { if (j < 9) { date = i + "-0" + (j + 1); } else { date = i + "-" + (j + 1); } list.add(date); } } else if (i == endYear) { for (int j = 0; j <= endMonth; j++) { if (j < 9) { date = i + "-0" + (j + 1); } else { date = i + "-" + (j + 1); } list.add(date); } } else { for (int j = 0; j < 12; j++) { if (j < 9) { date = i + "-0" + (j + 1); } else { date = i + "-" + (j + 1); } list.add(date); } } } } // 所有的月份已經准備好 //System.out.println(list); for(int i = 0;i < list.size();i++){ System.out.println(list.get(i)); } } catch (Exception e) { e.printStackTrace(); }