天天看點

java擷取月份中有多少天_JAVA 獲得某個月裡共有幾天 | 學步園

// 獲得某個月裡共有幾天

//代碼有錯:2009-01-01 傳回了30天,應該是31天

static int countDay(int year, int month) {

if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {

switch (month) {

case 1:

return 30;

case 2:

return 29;

case 3:

return 31;

case 4:

return 30;

case 5:

return 31;

case 6:

return 30;

case 7:

return 31;

case 8:

return 31;

case 9:

return 30;

case 10:

return 31;

case 11:

return 30;

case 12:

return 31;

}

} else {

switch (month) {

case 1:

return 30;

case 2:

return 28;

case 3:

return 31;

case 4:

return 30;

case 5:

return 31;

case 6:

return 30;

case 7:

return 31;

case 8:

return 31;

case 9:

return 30;

case 10:

return 31;

case 11:

return 30;

case 12:

return 31;

}

}

return 31;

}

// 獲得某個月裡共有幾天

static Integer countDay(Date time) {

Date date = time;

Calendar cal = Calendar.getInstance();

cal.setTime(date);

cal.set(cal.DATE, 1);

cal.roll(cal.DATE, -1);

// System.out.println(sdf.format(cal.getTime()));

// System.out.println("+++++++++++++");

// System.out.println(cal.get(cal.DAY_OF_MONTH));// 獲得日

return cal.get(cal.DAY_OF_MONTH);

}