Calendar: mando setar um mês e me retorna outro!

2 respostas
A

blz?

Olha quando eu tento fazer isso:

Calendar calendar = Calendar.getInstance(new Locale("pt", "BR"));
calendar.set(Calendar.MONTH, Calendar.FEBRUARY);

System.out.println("mes: " + calendar.get(Calendar.MONTH));

Ele imprime mes 2 sendo que fevereiro seria 1.
Para os outros meses funciona normal.

Alguem sabe porque?

Agradeço a quem puder ajudar!

2 Respostas

L

Não existe nada de errado!

Acrescente a seguinte linha no final:

System.out.println(calendar.getTime());

Você vai reparar que a data configurada é dois de março!

Por que isso? Bom, estamos no dia 30 de janeiro. Setando o mês pra fevereiro, a data ficaria “30 de fevereiro”. Tanto o interpretador Java quanto nós sabemos que essa data não existe. Consequentemente, a data será normalizada para 2 de março, que é dois dias a mais do que 28 de fevereiro.

A

muito simples heheheheh

valeu ae Leonardo3001!!!

Abraço…

Criado 30 de janeiro de 2009
Ultima resposta 30 de jan. de 2009
Respostas 2
Participantes 2