Java 8中字符串到LocalDateTime的转换

Java 8中字符串到LocalDateTime的转换,java,java-8,Java,Java 8,如何在Java8中将字符串“23:00”转换为LocalDateTime? 这似乎不起作用 LocalDateTime dateTime1 = LocalDateTime.parse("23:00", DateTimeFormatter.ofPattern("HH:mm")); 这是抛出的异常 java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to

如何在Java8中将字符串“23:00”转换为LocalDateTime? 这似乎不起作用

LocalDateTime dateTime1 = LocalDateTime.parse("23:00", DateTimeFormatter.ofPattern("HH:mm"));
这是抛出的异常

java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 23:00 of type java.time.format.Parsed
你不能。自以下日期起:

LocalDate存储没有时间的日期。它存储类似于“2010-12-03”的日期,并可用于存储生日

LocalTime存储没有日期的时间。它存储的时间类似于“11:30”,可用于存储开始或结束时间

LocalDateTime存储日期和时间。它存储的日期时间类似于“2010-12-03T11:30”

因此,如果您想这样做,您需要创建一个LocalTime。如果您确实需要
LocalDateTime
,请改用它:

您不能。自以下日期起:

LocalDate存储没有时间的日期。它存储类似于“2010-12-03”的日期,并可用于存储生日

LocalTime存储没有日期的时间。它存储的时间类似于“11:30”,可用于存储开始或结束时间

LocalDateTime存储日期和时间。它存储的日期时间类似于“2010-12-03T11:30”


因此,如果您想这样做,您需要创建一个LocalTime。如果您确实需要一个
LocalDateTime
,请改用它:

您只需将时间信息传递给解析器,解析器需要创建一个LocalDateTime。解析器无法猜测LocateDateTime需要哪个日期部分

使用


例如,如果希望今天在23:00。

只将时间信息传递给解析器,解析器需要创建LocalDateTime。解析器无法猜测LocateDateTime需要哪个日期部分

使用


例如,如果您希望今天在23:00进行投票。

最好提供一些评论,然后进行向下投票。最好提供一些评论,然后进行向下投票。
LocalDateTime time = 
    LocalTime.parse("23:00", DateTimeFormatter.ofPattern("HH:mm"))
        .atDate(LocalDate.now());