I am trying to parse 08:24:55 (HH:mm:ss) and 8:24:55 (H:mm:ss) using LocalTime.parse()
method in java 8. Below Code successfully get's executed and prints 08:24:55:
LocalTime time=LocalTime.parse("08:24:55", DateTimeFormatter.ofPattern("HH:mm:ss"));
System.out.println(time);
but the same set of code fails for input 8:24:55 and throws error:
Exception in thread "main" java.time.format.DateTimeParseException: Text '8:24:55' could not be parsed at index 0
Any suggestions what could be done to handle both scenarios?
DateTimeFormatter fmt = DateTimeFormatter. ofPattern("yyyy-MM-dd'T'HH:mm:ss"); System. out. println(ldt.
Parsing date and time To create a LocalDateTime object from a string you can use the static LocalDateTime. parse() method. It takes a string and a DateTimeFormatter as parameter. The DateTimeFormatter is used to specify the date/time pattern.
DateTimeFormatter is a formatter that is used to print and parse date-time objects. It has been introduced in Java 8. DateTimeFormatter is immutable and thread-safe.
Use just one H
in your pattern:
LocalTime time= LocalTime.parse("08:24:55", DateTimeFormatter.ofPattern("H:mm:ss"));
Output:
08:24:55
You can make some "times" optional via:
DateTimeFormatter.ofPattern("H[H]:mm:ss")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With