public static int getDays(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month - 1);// the month between 0-11
return c.getActualMaximum(Calendar.DAY_OF_MONTH);
}
public class DateDemo {
public static void main(String[] args) {
System.out.println(getDays(2004,2));
System.out.println(getDays(1999,1));
}
public static int getDays(int year,int month){
Date d= new Date(year-1900,month-1,1);
Calendar c = Calendar.getInstance();
c.setTime(d);
return c.getActualMaximum(Calendar.DAY_OF_MONTH);
}
}
public class Calendar {
public static int getMonthDays(int year, int month) {
switch(year) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) ? 29 : 28);
}
}
}