PDA

View Full Version : [java] controllo della data


s8i4
20-07-2007, 13:41
Ciao!
c'è un modo per vedere se una data scritta in un form sia nel formato corretto (dd/mm/aaaa) e anche controllare se esiste veramente quella data?

Ad esempio se io scrivo 29/02/2007 la data è scritta nel modo corretto ma è una data che sul calendario non esiste.
Mentre se io scrivo 29/02/2004 la data è corretta ed esiste nel calendario.

Io ho trovato questo codice ma non so bene implementarlo

DateFormat formatter = new SimpleDateFormat("dd/mm/yyyy");
Date date = (Date)formatter.parse(data);

:D

andbin
20-07-2007, 14:08
Io ho trovato questo codice ma non so bene implementarlo

DateFormat formatter = new SimpleDateFormat("dd/mm/yyyy");
Date date = (Date)formatter.parse(data);Innanzitutto il pattern deve essere "dd/MM/yyyy" (mm minuscolo indica i minuti). Poi prima di fare il parse bisogna impostare:

formatter.setLenient (false);

Questo è molto importante e serve per impostare un parsing più "rigoroso".

Se la data è malformata o non valida, viene lanciata la eccezione ParseException.

s8i4
20-07-2007, 15:02
Sì infatti adesso funziona
Grazie

P.S. per chiunque abbia bisogno di questo metodo è il seguente:


public boolean checkData() throws ParseException {
try {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
formatter .setLenient(false) ;
formatter.parse(data) ;
return true;
} catch ( Exception exception) {
return false;
}
}

andbin
20-07-2007, 15:08
P.S. per chiunque abbia bisogno di questo metodo è il seguente:Hai dimenticato di passare come parametro la stringa della data e poi la dichiarazione del throws non serve, visto che già gestisci una eventuale eccezione nel metodo.