Moltar
Mitglied
Datum variabel eingeben + parsen
Hallo,
in meiner Anwendung soll vom Benutzer ein Datum eingegeben werden, das später weiterverarbeitet wird. Auf Grund gewünschter Flexibilität bei der Eingabe sollen verschiedene Datumsformate möglich sein:
Die Ausgabe soll im Beispiel als deutsches Datum erfolgen (gerDateFormat). Bisher habe ich das so gelöst:
Das ist aber ziemlich unhandlich und falls ein weiteres Format hinzukommt, wird das immer schlimmer.
Weiß jemand, wie man das möglicherweise anders lösen könnte?
Grüße und danke schonmal
Moltar
Hallo,
in meiner Anwendung soll vom Benutzer ein Datum eingegeben werden, das später weiterverarbeitet wird. Auf Grund gewünschter Flexibilität bei der Eingabe sollen verschiedene Datumsformate möglich sein:
Code:
DateFormat gerDateFormat = new SimpleDateFormat("dd.MM.yyyy");
DateFormat isoDateFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat shortDateFormat = new SimpleDateFormat("ddMMyy");
Die Ausgabe soll im Beispiel als deutsches Datum erfolgen (gerDateFormat). Bisher habe ich das so gelöst:
Code:
if(value != null && !value.equals("")) {
Date date = null;
try {
date = isoDateFormat.parse(value.toString());
component.setText(gerDateFormat.format(date));
} catch (ParseException e) {
try {
date = gerDateFormat.parse(value.toString());
component.setText(gerDateFormat.format(date));
} catch(ParseException e1) {
try {
date = shortDateFormat.parse(value.toString());
component.setText(gerDateFormat.format(date));
} catch(ParseException e2) {
try {
Date y = new Date();
DateFormat yf = new SimpleDateFormat("yy");
date = shortDateFormat.parse(value.toString() + yf.format(y));
component.setText(gerDateFormat.format(date));
} catch(ParseException e3) {
MyMessage.showError("Ungültiger Datumswert: " + value.toString());
component.setText("");
}
}
}
}
}
Das ist aber ziemlich unhandlich und falls ein weiteres Format hinzukommt, wird das immer schlimmer.
Weiß jemand, wie man das möglicherweise anders lösen könnte?
Grüße und danke schonmal
Moltar
Zuletzt bearbeitet: