Comparar DATAS

Galera,
tentei usar if (“dd/mm/aaaa” > “dd/mm/aaaa”)

mas deu que String não é um tipo comparável assim…

como proceder então?

abraços

uma opção é usar os metódos after() , beforer() da classe Date

valeu… mas ja fiz funcionar com o compareTo

abçs!

Oi,
então… para comparação de String você não pode usar essa condição… pois sabemos que ira funcionar somente a compração de igualdade (equals).

Para esse seu caso, você esta passando para a String uma data… então acho que uma alternativa boa seria a utilização do compareTo.

Existe uma falha neste caso, tipo:

“03/02/2003”.compareTo(“03/03/2002”)

neste caso, não iria funcionar o compare, ele iria indicar que a data 03/03/2002 seria maior… pois ele busca cada caracter e verifica qual entre eles é o maior.

o que pensei foi o seguinte: use o comparteTo invertendo a data para Ano/mes/dia, ficando como o exemplo abaixo:

[code]
String
data_maior = “2004/03/01”;

String
data_menor = “2003/03/01”;

int
teste = data_maior.compareTo(data_menor);

System.out.println("Data maior "+teste);[/code]

Acho que assim não teria falhas na comparação…

Mas, para campos como data, é necessario um bom tratamento né… =)

Tchauzin!

[quote=lina]Oi,
então… para comparação de String você não pode usar essa condição… pois sabemos que ira funcionar somente a compração de igualdade (equals).

Para esse seu caso, você esta passando para a String uma data… então acho que uma alternativa boa seria a utilização do compareTo.

Existe uma falha neste caso, tipo:

“03/02/2003”.compareTo(“03/03/2002”)

neste caso, não iria funcionar o compare, ele iria indicar que a data 03/03/2002 seria maior… pois ele busca cada caracter e verifica qual entre eles é o maior.

o que pensei foi o seguinte: use o comparteTo invertendo a data para Ano/mes/dia, ficando como o exemplo abaixo:

[code]
String
data_maior = “2004/03/01”;

String
data_menor = “2003/03/01”;

int
teste = data_maior.compareTo(data_menor);

System.out.println("Data maior "+teste);[/code]

Acho que assim não teria falhas na comparação…

Mas, para campos como data, é necessario um bom tratamento né… =)

Tchauzin![/quote]

Aqui, isso funcionou Lina…

Date a = new Date("03/02/2003"); Date b = new Date("03/03/2002"); if (a.compareTo(b) >= 1) System.out.println("A Maior"); else System.out.println("B Maior");

:thumbup: