tentei executar o exemplo que está na API, de GregorianCalendar, mas ele insiste em me retornar 5 para o mês, e o relógio aqui está certo.
Este problema está acontecendo mesmo quando eu pedo uma data do banco de dados, de um evento qualquer, e tento apresentar. Ele me retorna o mês errado, sempre um a menos.
não sei dizer o pq, mas os meses em java vão de 0 a 11.
[]'s
L
leonardom
Mês da classe Calendar é 0 based, isto é, janeiro = 0, fevereiro =1, março = 3 e assim por diante.
Portando você deve somar o valor retornado mais para para ter o mês correto.
L
Luiz_Gustavo
Olha só… será que é por isso então … hehehehe :XD: … magina né
Nem tinha reparado este pequeno grande detalhe
Valeu galera…
T
thingol
jgbt:
não sei dizer o pq, mas os meses em java vão de 0 a 11.
[]'s
Isso é devido à herança da linguagem C, onde a estrutura struct tm (que é mais ou menos parecida com a GregorianCalendar do Java) retorna os meses de 0 a 11. A razão é que dessa maneira, seria possível imprimir os meses usando um array de strings sem ter uma posição “desperdiçada” (motivo terrivelmente idiota, mas é herança desse tempo em que o sr. James Gosling, que afinal de contas era programador C, tentava deixar as coisas as mais compatíveis possíveis com o C).