獲取某一年某個月的每一天
阿新 • • 發佈:2021-06-30
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @Test public void test_getMonthFullDay(){ System.out.println(getMonthFullDay(2016, 7,23)); } /** * 某一年某個月的每一天 */ public static List<String> getMonthFullDay(int year , int month,int day){ List<String> fullDayList = newArrayList<String>(); if(day <= 0 ) day = 1; Calendar cal = Calendar.getInstance();// 獲得當前日期物件 cal.clear();// 清除資訊 cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1);// 1月從0開始 cal.set(Calendar.DAY_OF_MONTH, day);// 設定為1號,當前日期既為本月第一天 int count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);for (int j = 0; j <= (count-1);) { if(sdf.format(cal.getTime()).equals(getLastDay(year, month))) break; cal.add(Calendar.DAY_OF_MONTH, j == 0 ? +0 : +1); j++; fullDayList.add(sdf.format(cal.getTime())); } return fullDayList; } public static String getLastDay(intyear,int month){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month); cal.set(Calendar.DAY_OF_MONTH, 0); return sdf.format(cal.getTime()); }