Calendar - ¿31 de Junio?
Buenas a todos. he hecho un programita tonto en un rato de aburrimiento para saber el dÃa que cumpliré x dÃas y me encontrado algo muy, pero que muy inesperado. Obtengo una fecha de ¡31 de Junio! DÃa que, como es obvio, no existe, pero la clase Calendar parece pensar que sÃ.
Aquà os dejo la parte relevante del código:
long numerodemilisegundosenundia = 24*60*60*1000;
Calendar c = Calendar.getInstance();
c.set(2008,6,6);
Date d1 = c.getTime();
c.set(1981,4,6);
Date d2 = c.getTime();
Date d3 = new Date(d2.getTime() + numerodemilisegundosenundia*9948);
long dif2 = (d3.getTime() - d1.getTime())/numerodemilisegundosenundia;
System.out.println("dÃas que faltan hasta que cumplas 9948: " + dif2);
c.setTime(d3);
int ano = c.get(Calendar.YEAR);
int mes = c.get(Calendar.MONTH);
int dia = c.get(Calendar.DAY_OF_MONTH);
System.out.println("cumplirás 9948 el: " + dia + "/" + mes + "/" + ano);
Aparte de esto, Calendar está convencido de que hoy, dÃa 6/6/2008, es domingo (cuando es jueves) ¿Alguien sabe de dónde provienen estos errores?
Aquà os dejo la parte relevante del código:
long numerodemilisegundosenundia = 24*60*60*1000;
Calendar c = Calendar.getInstance();
c.set(2008,6,6);
Date d1 = c.getTime();
c.set(1981,4,6);
Date d2 = c.getTime();
Date d3 = new Date(d2.getTime() + numerodemilisegundosenundia*9948);
long dif2 = (d3.getTime() - d1.getTime())/numerodemilisegundosenundia;
System.out.println("dÃas que faltan hasta que cumplas 9948: " + dif2);
c.setTime(d3);
int ano = c.get(Calendar.YEAR);
int mes = c.get(Calendar.MONTH);
int dia = c.get(Calendar.DAY_OF_MONTH);
System.out.println("cumplirás 9948 el: " + dia + "/" + mes + "/" + ano);
Aparte de esto, Calendar está convencido de que hoy, dÃa 6/6/2008, es domingo (cuando es jueves) ¿Alguien sabe de dónde provienen estos errores?
