2016-08-19 16 views
5

Miałem fragment kodu, który działał dobrze, a teraz jakoś nie działa.Wyjątek parse Java LocalTime

Czytam w pliku csv i pojawia się błąd podczas czytania w polu czasu w formacie 4:38.

mój kod, który zgłasza wyjątek jest:

LocalTime.parse("4:38", DateTimeFormatter.ofPattern("HH:mm")) 

Próbowałem też "H:mm" lub "H:m" za wzór, ale rzuca ten sam wyjątek: Text '4:38' could not be parsed at index 0. Masz pomysł, dlaczego zgłasza wyjątek na godzinę?

używam Java 8.

+0

użyj wartości '" 04:38 "' – DimaSan

+0

Oznacza to, że muszę edytować cały plik csv. Czy nie ma innej drogi? – k88

+0

http://stackoverflow.com/questions/30754259/jdk8-unable-to-parse-localtime – kuhajeyan

Odpowiedz

9

Wzór potrzebuje tylko jednego "H" i jeden "M".

LocalTime.parse("4:38", DateTimeFormatter.ofPattern("H:m")); 

Działa dobrze na 4:38 i 14:38.

Official Doc: Patrz "Patterns do formatowania i parsowania"

+0

Tak też myślałem. Okazuje się, że zapomniałem, że parsuję dwie identyczne wartości, a wyjątek został wyrzucony przez zduplikowaną wartość. Dzięki! – k88

0

"H: MM" działa dobrze dla mnie. enter image description hereenter image description here

+0

Proszę wkleić swój kod bezpośrednio zamiast zrzutu ekranu ... – assylias