public static int getLastDateOfMonth(Calendar calendar) {
        Calendar tmpCal = new GregorianCalendar(calendar.getTimeZone());
        tmpCal.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
        tmpCal.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
        tmpCal.set(Calendar.DAY_OF_MONTH, 1);
        return tmpCal.getActualMaximum(Calendar.DAY_OF_MONTH);
    }
public static int getLastDateOfMonth ( Calendar calendar ) { Calendar tmpCal = new GregorianCalendar ( calendar . getTimeZone ( ) ) ; tmpCal . set ( Calendar . YEAR , calendar . get ( Calendar . YEAR ) ) ; tmpCal . set ( Calendar . MONTH , calendar . get ( Calendar . MONTH ) ) ; tmpCal . set ( Calendar . DAY_OF_MONTH , 1 ) ; return tmpCal . getActualMaximum ( Calendar . DAY_OF_MONTH ) ; }
Returns the last date of the month represented by the passed <code>cal</code>

@param calendar The {@link java.util.Calendar} whose {@link java.util.Calendar#MONTH} field will be used
as the current month
@return