ich 08.24.55 zu analysieren versuche (HH: mm: ss) und 08.24.55 (H : mm: ss) mit LocalTime.parse()
Methode in Java 8 Below-Code ausgeführt und druckt die erfolgreich erhalten 08.24.55:Parse HH: mm: ss und H: mm: ss für einzelne Localtime DateTimeFormatter in java8 mit
LocalTime time=LocalTime.parse("08:24:55", DateTimeFormatter.ofPattern("HH:mm:ss"));
System.out.println(time);
aber der gleiche Satz von Code nicht für die Eingabe 08.24.55 und wirft Fehler:
Exception in thread "main" java.time.format.DateTimeParseException: Text '8:24:55' could not be parsed at index 0
Vorschläge, was getan werden könnte, um beide Szenarien zu behandeln?
Vielleicht könnten Sie eine bedingte tun Muster basierend auf der Länge der Zeichenfolge? ZB: if (times.length() == 8) {pattern = "HH: mm: ss"; } sonst if (timestr.length == 7) {pattern = "H: mm: ss"; } – zack6849
@ zack6849, keine Notwendigkeit dafür. Sehen Sie die viel einfachere Lösung in der Antwort. –
@ OleV.V. Sie werden vielleicht bemerkt haben, dass mein Kommentar vor Juan's Antwort war, tatsächlich habe ich seine Antwort verbessert, sobald ich sie gesehen habe, aber ich sehe keinen Grund, meinen Kommentar zu löschen. – zack6849