Parse clock time in java 8

2019-01-26 20:21发布

问题:

I wonder is it possible to parse clock time hour:minute:second in Java 8?

e.g.

final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
final String str = "12:22:10";
final LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

I tried but get this exception:

Exception in thread "main" java.time.format.DateTimeParseException: Text '12:22:10' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 12:22:10 of type java.time.format.Parsed

回答1:

Since you only have a time use the LocalTime class:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
String str = "12:22:10";
LocalTime time = LocalTime.parse(str, formatter);

See Oracle Tutorial for more info.