The following snippet returns:
28
31
I can't figure out, why. I tried so set the calendar object to Feb 2021 in two ways, what am I doing wrong? Month is zero-based, so Feb is "1".
import java.util.Calendar;
import java.util.GregorianCalendar;
public class HelloWorld{
public static void main(String []args){
Calendar g = new GregorianCalendar(2021, 1, 28);
System.out.println(g.getActualMaximum(Calendar.DAY_OF_MONTH));
int year = 2021;
int month = 1;
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
}
}
Or does this only happen, because I call Calendar.getInstance() on March 29, 30 or 31 and I don't call
c.set(Calendar.DAY_OF_MONTH, {any day below 29});