Ich möchte den letzten Tag des vorherigen Monats abrufen. Aber das scheint nicht zu funktionieren:Kalender - Letzten Tag des vorherigen Monats abrufen
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);
Diese Ausgänge:
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
es also im letzten Monat bekommen, das ist November (10), mit, dass es jetzt Dezember (11) ist. Letzter Tag in diesem Monat auch richtig, aber klar, am letzten Tag im vergangenen Monat war nicht 31, sondern 30
Warum die zweiten getActualMaximum
den gleichen „liest-Tag-in-Monat“ als ersten geben, wenn ich die add -1 Sache mache?
Dies könnte einigen Benutzern helfen http://stackoverflow.com/a/344400/3701433 – Prudhvi