1. 程式人生 > 其它 >獲取某一年某個月的每一天

獲取某一年某個月的每一天

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 = new
ArrayList<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(int
year,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()); }