无法分析文本:无法从TemporalAccessor获取LocalDateTime:

无法分析文本:无法从TemporalAccessor获取LocalDateTime:,time,java-8,Time,Java 8,我已经编写了一段使用Java8API解析日期的简单代码。我还讨论了有关此主题的其他各种堆栈溢出问题,但未能解决该错误 package com.test.java8api; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.ResolverStyle; import java.util.Locale; public class Test {

我已经编写了一段使用Java8API解析日期的简单代码。我还讨论了有关此主题的其他各种堆栈溢出问题,但未能解决该错误

package com.test.java8api;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.ResolverStyle;
import java.util.Locale;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE, MM/DD/YYYY - HH:mm", Locale.ENGLISH).withResolverStyle(ResolverStyle.STRICT);
        LocalDateTime date = LocalDateTime.parse("Sun, 04/22/2018 - 09:45",formatter);
        System.out.println(date);
    }

}
错误日志是

Exception in thread "main" java.time.format.DateTimeParseException: Text 'Sun, 04/22/2018 - 09:45' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {DayOfWeek=7, WeekBasedYear[WeekFields[SUNDAY,1]]=2018, MonthOfYear=4, DayOfYear=22},ISO resolved to 09:45 of type java.time.format.Parsed
    at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1920)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1855)
    at java.time.LocalDateTime.parse(LocalDateTime.java:492)
    at com.test.java8api.Test.main(Test.java:13)
Caused by: java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {DayOfWeek=7, WeekBasedYear[WeekFields[SUNDAY,1]]=2018, MonthOfYear=4, DayOfYear=22},ISO resolved to 09:45 of type java.time.format.Parsed
    at java.time.LocalDateTime.from(LocalDateTime.java:461)
    at java.time.format.Parsed.query(Parsed.java:226)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    ... 2 more
Caused by: java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: {DayOfWeek=7, WeekBasedYear[WeekFields[SUNDAY,1]]=2018, MonthOfYear=4, DayOfYear=22},ISO resolved to 09:45 of type java.time.format.Parsed
    at java.time.LocalDate.from(LocalDate.java:368)
    at java.time.LocalDateTime.from(LocalDateTime.java:456)
    ... 4 more
你能帮我解决这个问题吗

编辑:

有人问我这是否可能是一个复制品

但情况并非如此,因为前面的问题讨论了LocalDate和LocalDateTime用法的差异,而当前的问题是如何为模式使用正确的符号或字母。

格式化模式区分大小写 EEE,MM/DD/YYYY-HH:MM

仔细学习格式化模式代码是区分大小写的

DD表示一年中的某一天。dd是指月日。 YYYY表示以周为基础的年份。yyyy和uuuu表示日历年。 在投递到堆栈溢出之前,请更加小心。您可能已经在Stack Overflow上找到了数百个工作代码示例,以显示代码中的错误

提示:避免问题中出现的自定义格式。将日期时间值序列化为文本时,始终使用标准格式。它们出人意料地实用和有用,其设计目的是明确无误,易于机器解析,并且易于跨文化阅读

在解析/生成字符串时,java.time类默认使用ISO 8601格式。因此无需指定格式模式。

格式模式区分大小写 EEE,MM/DD/YYYY-HH:MM

仔细学习格式化模式代码是区分大小写的

DD表示一年中的某一天。dd是指月日。 YYYY表示以周为基础的年份。yyyy和uuuu表示日历年。 在投递到堆栈溢出之前,请更加小心。您可能已经在Stack Overflow上找到了数百个工作代码示例,以显示代码中的错误

提示:避免问题中出现的自定义格式。将日期时间值序列化为文本时,始终使用标准格式。它们出人意料地实用和有用,其设计目的是明确无误,易于机器解析,并且易于跨文化阅读


在解析/生成字符串时,java.time类默认使用ISO 8601格式。因此,无需指定格式模式。

可能重复@JimGarrison-在发布此问题之前,我使用了前面提到的解决方案,但没有解决错误。@JimGarrison不是该问题的重复项。这个问题的问题是错误的格式化代码大小写。可能是@JimGarrison的重复-在发布这个问题之前,我使用了前面提到的解决方案,但没有解决这个错误。@JimGarrison不是该问题的重复。这个问题的问题是错误的格式化代码大小写。