1Danke
ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
872
872
EMPFEHLEN
-
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 :1 2 3
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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
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
MoltarGeändert von Moltar (11.06.07 um 13:22 Uhr)
-
Hi, leg alle formatter in ne Liste und versuchs mit ner Schleife:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Collection<SimpleDateFormat> formatter = new ArrayList<SimpleDateFormat>(); formatter.add(new SimpleDateFormat("dd.MM.yyyy")); formatter.add(new SimpleDateFormat("yyyy-MM-dd")); formatter.add(new SimpleDateFormat("ddMMyy")); Date date = null; for(SimpleDateFormat f : formatter) { try { date = f.parse(value.toString()); break; } catch (ParseException e) { // TODO: handle exception } } if(date==null) { . . . }
mfg smuehlba
-
Super,
sowas hab ich gesucht, danke!
Grüße
Moltar
Ähnliche Themen
-
String per BeanUtils geholt -> Zum Datum Parsen?
Von Layna im Forum JavaAntworten: 6Letzter Beitrag: 30.09.08, 12:18 -
Datum Parsen
Von port29 im Forum JavaAntworten: 4Letzter Beitrag: 20.11.07, 10:37 -
Datum über Kalender eingeben
Von hondocrx im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 20.09.06, 02:58 -
datum parsen...
Von partitionist im Forum C/C++Antworten: 1Letzter Beitrag: 26.07.06, 08:28 -
preg_replace Variablen und Arrays parsen
Von akkie im Forum PHPAntworten: 5Letzter Beitrag: 11.01.05, 19:24





Zitieren
Login





