Data retornando número inválido

1 resposta
J

***Por que se colocar os parametros assim da certo:

java.util.GregorianCalendar xmas = new java.util.GregorianCalendar(y, java.util.Calendar.DECEMBER, d);

retorna 365 dias

***Por que assim da errado:
java.util.GregorianCalendar xmas = new java.util.GregorianCalendar(y, 12, d);

retorna 334 dias

***Diferença está em “12” e “java.util.GregorianCalendar” no passar os parametros

***Abaixo o código:

int y = 2006;

int m = 12;

int d = 10;
java.util.GregorianCalendar xmas = new java.util.GregorianCalendar(y, 12, d);

java.util.GregorianCalendar newyears = new java.util.GregorianCalendar(2007, java.util.Calendar.DECEMBER, 10);

boolean b = xmas.after(newyears);            
b = xmas.before(newyears);                  

long diffDays = diffMillis/(24*60*60*1000); // deveria ser 365 dias mas é 334, por que?

Obrigado [ ].

1 Resposta

B

Ola,

Atenção, no Calendar o mes começa em 0 e vai até 11, no caso 0 é Janeiro e 11 é Dezembro… por isto quando vc usa a constante dá certo.

Criado 21 de dezembro de 2006
Ultima resposta 21 de dez. de 2006
Respostas 1
Participantes 2