PDA

Visualizza la versione completa : [JAVA] inconprensione DateFormat e SimpleDateFormat


tomiolo
05-02-2004, 11:04
ciao, (primo post nel forum programmazione...)

ho un problemino nella formattazione delle date in java:
devo recuperarmi un oggetto Date da un campo di testo in cui l'utente inserisce appunto una data...
inoltre l'utente può definire il formato della data che più gli è congeniale senza comunque fare affidamento sulla formattazione della data fornita dal valore dell'oggetto Locale...

utilizzando il SimplDateFormat non ci sono grossi problemi nel formattare la data se questa non contiene errori, cioè, diciamo meglio, se contiene lettere o formati strani lancia un'eccezione. quindi tutto ok.
il problema sorge quando l'utente inserisce una data del tipo: 35/01/2003
con questa data praticamente slitta l'anno, cioè utilizzando il parse di SDF mi crea un oggetto date con il valore 04/02/2003... cosa che ovviamente non è esatta... :)

usanto l'oggetto DateFormat, capisce che la data è errata e mi lancia l'eccezione. quindi ok. il problema è che non capisco come definire il mio pattern. nel DateFormat posso usare SHORT, LONG, MEDIUM, ecc...
ma non mi pare che posso definire i miei pattern.

essendo che l'utente può definire la formattazione preferita della sua data, avrei invece l'esigenza di definire il mio pattern...

avete per caso qualche idea?
[dimenticavo, uso jdk 1.3.1]

grazie e ciao

trevor
05-02-2004, 11:14
dovrebbe esserci un attributo, "lenient" che indica se il parser deve o non deve fare quel lavoro che fa col 35 gennaio...

controlla

tomiolo
05-02-2004, 11:28
grande!
sdf.setLenient(false);
esatto, la prossima domanda che avrei fatto sarebbe stata: sapete cos'è setLenient? :)

grazie mille
ciao

Loading