2016-08-19 39 views
5

Tôi đã có một đoạn mã hoạt động tốt và bây giờ bằng cách nào đó không hoạt động.Java LocalTime Parse Exception

Tôi đang đọc trong tệp csv và gặp lỗi khi đọc trong trường thời gian có định dạng 4:38.

Mã của tôi mà ném ngoại lệ là:

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

Tôi cũng đã cố gắng "H:mm" hoặc "H:m" cho mô hình nhưng nó ném ngoại lệ như nhau: Text '4:38' could not be parsed at index 0. Bất kỳ ý tưởng tại sao nó ném một ngoại lệ tại số giờ?

Tôi đang sử dụng Java 8.

+0

sử dụng giá trị của "" 04:38 "' – DimaSan

+0

Điều đó có nghĩa là tôi phải chỉnh sửa toàn bộ tệp csv. Có cách nào khác không? – k88

+0

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

Trả lời

9

Mẫu cần một chữ "H" và một chữ "m" đơn.

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

Nó hoạt động tốt cho 4:38 và 14:38.

Official Doc: Xem "Patterns cho Formatting và Parsing"

+0

Đó là điều tôi cũng nghĩ. Hóa ra, tôi quên rằng tôi đang phân tích cú pháp hai giá trị giống nhau, và ngoại lệ đã được ném bởi giá trị trùng lặp. Cảm ơn! – k88

0

"H: mm" đang làm việc tốt cho tôi. enter image description hereenter image description here

+0

Vui lòng dán mã của bạn trực tiếp thay vì ảnh chụp màn hình ... – assylias

Các vấn đề liên quan