Comparação de datas como string

Pessoal

Como eu consigo comparar datas, as datas são String. Quero comparar se a data de vencimento é anterior ou igual à data de pagamento, se positivo não ocorrerá multa, caso contrário, ocorrerá a multa.

:tosco:

Por favor, me ajudem!

Carla… String não é a classe apropriada para isso. O correto é que voce converta isso para o tipo java.util.Date.

Veja este método.

    public Date stringToDate(String data1) {
        SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
        f.setLenient(false);
        java.util.Date d1 = null;
        try {
            d1 = f.parse(data1);
        } catch (ParseException e) {}
        return d1;
    }

Ele funciona para String com datas no formato dd/MM/aaaa.

Já para saber qual data é maior, use o metodo getTimeMillis(), vai te retornar um long, que contém os milisegundos dessa data, assim, basta comparar qual long é maior.

Espero que tenha ajudado

Agradeço pela ajuda. mas vc poderia me dizer como eu utilizo o método getTimeMillis e depois o que eu utilizo para comparar as datas??? Eu já transformei as 2 datas de String para Date, agora falta compará-las…

Este método pertence a classe java.util.Date. Dessa forma, basta fazer:

long miliData1 = data1.getTimeMillis();
long miliData2 = data2.getTimeMillis();

Agora, para comparar as datas, use um if

if( data1 > data2 )
    //a data1 é maior
else
    //a data2 é maior

Certo?

Agradeço mais uma vez, mas continuo com problemas…
Quando eu tento converter as datas como o getTimeMillis, o sistema dá erro não reconhecendo esse método… Já importei o java.util.Date, tenho que importar mais alguma coisa??? Ou o netbeans não aceita esse método?

:?:

Desculpe Carla, O método é getTime() apenas…

Ainda sobre seu posts, há dois pontos interessantes.
No netbeans, se você digitar o nome da sua variavel/atributo seguido de um ponto (.), o netbeans te da uma lista de método que voce pode chamar a partir dessa variavel. Teste isso com sua variavel do tipo Date, que verá o método getTime nessa lista. Ele ainda te diz o que esse método retorna, neste caso long, e uma descrição sobre a funcao do metodo.

Outro ponto, não existe “o netbeans não aceita”. Se não funciona um método qualquer, o problema não é o netbeans.

É isso… boa sorte!

Poxa, valeu pela dica!