[Ajuda] Calendar.set() Não funciona

5 respostas
ataufo

Pessoal,

estou intrigado pois não está funcionando o simples código abaixo:

final Calendar inicio = Calendar.getInstance();

inicio.set(Calendar.DAY_OF_MONTH, 1);

Resultado: variavel inicio consta sempre a data de hoje (08/11/2010). Quando na verdade eu estou tentando passar o dia do mês para 1 (01/11/2010).

Alguem consegue me ajudar ?

5 Respostas

Felagund

cara, abandone o Calendar, e use o JodaTime, muito mais flexivel e facil de usar.

ataufo

amigo, eu tenho que usar o Calendar… não sou eu que escolho isso no meu trabalho…

neno

Existe alguma outra parte do seu codigo que seja relevante?

Porque eu ja recriei sua situação e não tive problemas, o data foi modificada normalmente…

ataufo

O código é exatamente esse abaixo:

(...)
			final Calendar inicioTrim = Calendar.getInstance();
			zeraMilisegundosCalendar(inicioTrim);
			final Calendar fimTrim    = Calendar.getInstance();
			zeraMilisegundosCalendar(fimTrim);
			setRangeTrimestre(inicioTrim, fimTrim);

 (...)

	private void zeraMilisegundosCalendar(final Calendar cal) {
		cal.set(Calendar.MILLISECOND, 0);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.HOUR_OF_DAY, 0);
	}

	private void setRangeTrimestre(final Calendar inicioTrim, final Calendar fimTrim) {
		
		inicioTrim.set(Calendar.DAY_OF_MONTH, 1);
       (...)
R

meu amigo, tb fiz o teste com a classe Calendar e funcionou direito.
ou vc esta chamando isto depois de precisar, ou em algum momento vc esta criando a data novamente.

Verifica ai.

Criado 8 de novembro de 2010
Ultima resposta 8 de nov. de 2010
Respostas 5
Participantes 4