第一种:
/** * 计算每个月的天数 * * @param year 年份 * @param month 月份 * @return days 每个月的天数 */ public static int getDaysOfMonth(int year, int month) { int days = 0; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 9 || month == 10 || month == 12) { days = 31; } else if (month == 4 || month == 6 || month == 8 || month == 11) { days = 30; } else { // 2月份,闰年29天、平年28天 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { days = 29; } else { days = 28; } } return days; }
第二种:
/** * 计算每个月的天数 * * @param year 年份 * @param month 月份 * @return days 每个月的天数 */ public static int getDaysOfMonth2(int year, int month) { int[] arr = { 31, 28, 31, 30, 31, 30, 31, 30, 31, 31, 30, 31 }; int days = 0; if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { arr[1] = 29; // 闰年2月29天 } try { days = arr[month - 1]; } catch (Exception e) { e.getStackTrace(); } return days; }