Obtener último día del mes en Java

Puede que nos interese saber cual es el último día de un mes concreto en Java, la mayoría de los meses es sencillo porque no varía. El problema esta con febrero que dependiendo de si el año es bisiesto o no, tendrá 28 o 29 días.

Así que para poder saber el numero de días que tiene un mes concreto se podría hacer lo siguiente:

En el ejemplo, vamos a calcular el ultimo día de febrero 2014:

Como los meses comienzan por 0, a febrero le corresponde el mes 1.

int anio=2014;
int mes=1;
Calendar calendario=Calendar.getInstance();
cal.set(2014, 1, 1);
int ultimoDiaMes=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

Si consultamos la variable ultimoDiaMes, veremos que el resultado es 28.

Para dejarlo mejor, se puede crear un método para poder reutilizarlo:

public int obtenerUltimoDiaMes (int anio, int mes) {

Calendar calendario=Calendar.getInstance();
cal.set(anio, mes-1, 1);
return cal.getActualMaximum(Calendar.DAY_OF_MONTH);

}
int ultimoDiaMes=obtenerUltimoDiaMes(2014, 2);

En este caso, la variable ultimoDiaMes también valdría 28.