public static int daysInMonth(GregorianCalendar c) {
int [] daysInMonths = {31,28,31,30,31,30,31,31,30,31,30,31};
daysInMonths[1] += c.isLeapYear(c.get(GregorianCalendar.YEAR)) ? 1 : 0;
return daysInMonths[c.get(GregorianCalendar.MONTH)];
}
편리한 유틸함수가 있는지 모르겠는데, GregorianCalendar 클래스만 가지고 구해보자면 대충 이런 알고리즘이에요.