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

标签 java java-8

如何在 Java 8 中将字符串“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

最佳答案

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

使用

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

例如,如果您想要今天 23:00。

关于java - 在 Java 8 中将字符串转换为 LocalDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554471/

相关文章:

sorting - 合并和排序多个流 java 8

java - 使用 GlassFish 的 WebApplication 中的文件路径

java - 如何将Gradle项目编译为可以在Android应用程序中使用的jar文件

java - 生成笛卡尔积java

Java8 Effectively Final compile time error on non final variable

Java 8 流。将两个参数传递给在 forEach 中调用的方法

java - spring-boot oauth2分离授权服务器和资源服务器

java - 我可以使用 Apache Camel 调用 Web 服务并返回响应吗?

java - 缩进某个字符之后的所有行,直到另一个字符

java - 将双foreach和if语句重构为java 8解决方案