Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH);
The above returns actual maximum for current month. For example it is February of leap year now, so it returns 29.
And to get last day as Date object:
Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE)); Date lastDayOfMonth = cal.getTime();