在Java 8中将字符串转换为LocalDateTime

Use*_*911 1 java java-8

如何在Java 8中将字符串"23:00"转换为LocalDateTime?这似乎不起作用,

LocalDateTime dateTime1 = LocalDateTime.parse("23:00", DateTimeFormatter.ofPattern("HH:mm"));
Run Code Online (Sandbox Code Playgroud)

这是抛出的异常,

java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 23:00 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

JB *_*zet 8

您只将时间信息传递给解析器,并且需要创建LocalDateTime.解析器无法猜测LocateDateTime需要哪个Date部分.

使用

LocalDateTime time = 
    LocalTime.parse("23:00", DateTimeFormatter.ofPattern("HH:mm"))
        .atDate(LocalDate.now());
Run Code Online (Sandbox Code Playgroud)

例如,如果你想今天 23:00.