I want to get the last day of the previous month. But this does not seem to work:
Calendar cal = Calendar.getInstance(); Integer lastDay = cal.getInstance().getActualMaximum(cal.DAY_OF_MONTH); cal.add(Calendar.MONTH, -1); Integer prevMonth = cal.get(Calendar.MONTH); Integer prevMonthYear = cal.get(Calendar.YEAR); Integer lastDayPrevMonth = cal.getInstance().getActualMaximum(cal.DAY_OF_MONTH); System.out.println("Previous month was: " + prevMonth + "-" + prevMonthYear); System.out.println("Last day in previous month was: " + lastDayPrevMonth); System.out.println("Last day in this month is: " + lastDay);
It is output:
I/System.out๏น: Previous month was 10-2015 I/System.out๏น: Last day in previous month was 31 I/System.out๏น: Last day in this month is 31
Thus, he receives the previous month, this November (10), giving him now December (11). The last day of this month is also correct, but obviously the last day of the previous month was not 31, but 30.
Why getActualMaximum second getActualMaximum give the same โlast day of the monthโ as the first when I add the -1 item?
Simun source share