Ho bisogno di analizzare una data dalla stringa di input utilizzando il modello di data "yyyy-MM-dd", e se la data verrà in qualsiasi altro formato, genera un errore.Analisi errata della data utilizzando SimpleDateFormat, Java
Questo è il mio pezzo di codice in cui ho analizzare la data:
private void validateDate() throws MyException {
Date parsedDate;
String DATE_FORMAT = "yyyy-MM-dd";
try{
parsedDate = new SimpleDateFormat(DATE_FORMAT).parse(getMyDate());
System.out.println(parsedDate);
} catch (ParseException e) {
throw new MyException(“Error occurred while processing date:” + getMyDate());
}
}
Quando ho stringa come "2011-06-12" come input in myDate mi metterò in uscita "gio 29 settembre 00:00 : 00 EEST 2011 ", che è buono.
Quando ho inviato una stringa errata come "2011-0612", ho ricevuto un errore come previsto.
I problemi iniziano quando sto provando a passare una stringa che ha ancora due "trattini", ma il numero di cifre è sbagliato. Esempio:
stringa di input "2011-06-1211" risultato "mar 23 set 00:00:00 EEST 2014".
stringa di input "2011-1106-12" risultato "lun 12 feb 00:00:00 EET 2103".
Non riesco a modificare il formato di input della data della stringa.
Come posso evitarlo?
Non sono sicuro di come "2011-06-12" come input in myDate otterrò l'output "Gio 29:00 00:00:00 EEST 2011" è buono. Dovresti ricevere il 12 giugno come output - non il 29 settembre ... –