Datas

2 respostas
C

Pessoal,

Estou tentando comparar a data do vencimento da mensalidade de um aluno com a data atual para saber se ocorrerá a aplicação de multa, entretanto, cada hora eu esbarro com uma dúvida diferente.
As datas são string e eu as converti para Date utilizando a forma abaixo:

public Date stringToDate(String data) {

SimpleDateFormat f = new SimpleDateFormat(dd/MM/yyyy);

f.setLenient(false);

java.util.Date d1 = null;

try {

d1 = f.parse(data);

} catch (java.text.ParseException ex) {

ex.printStackTrace();

}

return d1;

}

Mas agora preciso atribuir o valor de um JTextField às datas para poder compará-las com o compareTo. Só que não consigo fazer isso, ele não aceita usar o parse ou o parseDate.

d1 = parseDate(txtVencimento.getText()); // Essa linha dá erro

if (d1.compareTo(d2)>0){ //Essa comparação ainda não é aceita

multa = (valor * 10)/ 100;

txtMulta.setText(String.valueOf(multa));

} else{

multa = 0;

txtMulta.setText(String.valueOf(multa));

}

Alguém pode me dizer como faço para que uma variável Date aceite um valor de um JTextfield ou de uma String?

Conto com vcs mais uma vez.

Desde já agradeço

2 Respostas

K

Nao sei se entendi seu problema mais vamos lah !

Vc quer comparar duas datas ?

Se vc usar uma var String para pegar o valor do Jtextfield e depois converta para date! ai vc Nao podera compara-la ? :grin:

C

Olá,

Voce pode usar os métodos que a classe Date tem para realizar comparação entre duas datas.

Date dataRegistro = new Date();
// ....data de comparação vinda de alguma parte da sua alicação
if(dataRegistro.before(dataVencimento) ){
  // ..faz alguma coisa
}
else if( data.after( dataVencimento) ){
 // ...faz alguma coisa.
}

Qualquer coisa de uma olhada na documentação da Classe Date que voce irá compreender facilmente como fazer as comparações e tal.

Abraços.

Criado 29 de novembro de 2007
Ultima resposta 30 de nov. de 2007
Respostas 2
Participantes 3