Java LocalDateTime 解析错误

标签 java date java-time

<分区>

已经尝试了 4 个小时来解决这个问题。

:这行得通

String date = "Jul-01-2014 09:10:12";
LocalDateTime dt = LocalDateTime.parse(date, DateTimeFormatter.ofPattern("MMM-dd-yyyy HH:mm:ss", Locale.US));

:这不会

String date = "JUL-01-2014 09:10:12";
LocalDateTime dt = LocalDateTime.parse(date, DateTimeFormatter.ofPattern("MMM-dd-yyyy HH:mm:ss", Locale.US));

唯一的区别是月份全部大写。 Jul 的正确大小写有效。 JUL 或 jul 都不起作用。我也尝试过“LLL”模式,但没有成功。我错过了什么??

最佳答案

很显然,我需要为此花费 5 个小时。 在编写扩展以提供解决方法时,我发现了这一点。

    String date = "01-JUL-2014 09:10:12";

    DateTimeFormatterBuilder fmb = new DateTimeFormatterBuilder();
    fmb.parseCaseInsensitive();
    fmb.append(DateTimeFormatter.ofPattern("dd-MMM-yyyy HH:mm:ss"));

    LocalDateTime dt = LocalDateTime.parse(date, fmb.toFormatter());

适用于所有外壳样式。

关于Java LocalDateTime 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27643810/

相关文章:

java - 无法在java中将字符串转换为MM/dd/yyyy格式

java - 如何从 Temporal 获取 TimeZone?

java-8 - 使用 STRICT 解析器样式时出现 DateTimeParseException 问题

java - 将 System.out.println) 重定向到 textArea

JavaFX 8 : Changing title of primary stage

java - 在我的 Java Eclipse 项目中仅针对几个文件禁用警告。是否可以?

r - 将因子转换为 R 中的日期/时间

java - 解析使用空格作为分隔符的文件 -java.lang. (我不明白)

java - 如何使用比较器按降序对日期进行排序

javascript - 静态网页上的日期更新客户端