Data com comportamento estranho

2 respostas
smota

Ola Pessoal,

Eu tenho um calendario, seto ele pra o primeiro dia de um determinado mes e depois quero setar pro ultimo dia … o problema eh que ele ta indo mesmo é pro primeiro dia do proximo mes.

o código

dta.set(Calendar.DAY_OF_MONTH, 1); dta.set(Calendar.MONTH, tela.getMonth()); dta.set(Calendar.YEAR, tela.getYear()); dta.set(Calendar.HOUR, 0); dta.set(Calendar.MINUTE, 0); dta.set(Calendar.SECOND, 0); dta.set(Calendar.MILLISECOND, 0); parameters.put("dtaInicial", new Long(dta.getTimeInMillis() / (long) 1000)); //Seta Calendario (ultimo dia) dta.add(Calendar.MONTH,1); dta.add(Calendar.DAY_OF_MONTH,-1); dta.set(Calendar.HOUR, 23); //<-- AQUI dta.set(Calendar.MINUTE, 59); dta.set(Calendar.SECOND, 59); dta.set(Calendar.MILLISECOND, 99);

Onde estar marcado …até eu executar o <-- AQUI ele esta no ultimo dia do mes, mas ao setar a hora eu danco … mesmo invertendo e deixando pra subtrair o dia do mes como ultima instrucao isso acontece, parece que o dia deles tem menos de 24hs …

Como fazer? :roll:

Any idea … pls

2 Respostas

fenrir

Subtrair um milissegundo da data não vai ter o efeito desejado? :slight_smile:

jack_ganzha

Basta fazer uma pequena modificação. Onde vc está usando:
dta.set(Calendar.HOUR, 0);

Tente fazer:
dta.set(Calendar.HOUR_OF_DAY, 0);

valeuz…

Criado 2 de junho de 2003
Ultima resposta 2 de jun. de 2003
Respostas 2
Participantes 3