Ajuda Comparar Data

5 respostas
fabioebner

Amigos estou com um problema para comprar 2 datas,

eu faco

dataAbertura.compareTo(dataAtual)

oudataAbertura.before(dataAtual)

e nao funciona
tenho duas datas
ambas 2010-01-25 (uma retorna esse valor do banco e a outra eu dou um new Date())

ja tentei fazer as duas como util.Date e tbm como sql.Date

porem ele fala q uma e menor que a outra… como posso resolver esse pequeno problema??

obrigado

5 Respostas

mario.fts

esses métodos do Date também consideram os segundos.

Se no seu banco está 01-25-2010-00:00:00 e vc der um new date, vc vai ter algo como 01-25-2010-:16:29:30, que é depois da data inicial.

[]'s

saoj

Se vc está utilizando java.util.Date então inclui a hora tb, que deve ser diferentes. Imprime as duas datas com toString() para dar uma olhada.

fabioebner

Era o que eu tinha imaginado, acabei convertendo para GregorianCalendar e foi

valeu

fabioebner

Amigos, pensei q tinha dado certo, mas nao deu… como eu faco para comprar uma data, independente da hora ?? so quero saber os dia se e menor ou maior q o outro.

valeu

Marlon_Meneses

isso resolve

Calendar dt1 = Calendar.getInstance();
		Calendar dt2 = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		
		
		try {
			dt1.setTime(sdf.parse("26/01/2010"));
			dt2.setTime(sdf.parse("30/01/2010"));
			
			System.out.println("dt1: " + sdf.format(dt1.getTime()));
			System.out.println("dt2: " + sdf.format(dt2.getTime()));
			
			System.out.println("dt1 é antes de dt2? " + dt1.before(dt2));
			System.out.println("dt1 é igual a dt2? " + dt1.equals(dt2));
			System.out.println("dt1 é depois de dt2? " + dt1.after(dt2));
			
		} catch (ParseException e) {
			e.printStackTrace();
		}
Criado 25 de janeiro de 2010
Ultima resposta 26 de jan. de 2010
Respostas 5
Participantes 4