import java.util.Calendar;
public static void main(String[] args) throws Exception{
Calendar cal1 = Calendar.getInstance();
cal1.set(2011,0,30);
cal1.roll(Calendar.MONTH, false);//false para restar true para sumar
System.out.println(cal1.get(Calendar.DAY_OF_MONTH)+" "+cal1.get(Calendar.MONTH)+" "+cal1.get(Calendar.YEAR));
}
Calendar cal1 = Calendar.getInstance();
cal1.set(2011,0,30);
cal1.roll(Calendar.MONTH, false);//false para restar true para sumar
System.out.println(cal1.get(Calendar.DAY_OF_MONTH)+" "+cal1.get(Calendar.MONTH)+" "+cal1.get(Calendar.YEAR));
}
Imprime como resultado 30 11 2011//recordando que 11 es igual a Diciembre
Si ponemos atención roll regresa o resta el mes pero no el año
Y si sustituimos la línea de roll por cal1.add(Calendar.MONTH,-1);
obtendremos algo así 30 11 2010
Add hace los calculos pero tomando en cuenta el añó
Cualquiera de los 2 métodos es capaz de calcular el ultimo día del mes el caso de febrero
cal1.set(2011,2,30);//recordando que el 2 representa el mes de Marzo
//la salida sería la salida sería 28 1 2011
espero y les haya servido
No hay comentarios:
Publicar un comentario