【问题标题】:Unable to parse date Apr 15, 2020 12:14:17 AM to LocalDatetime无法将 2020 年 4 月 15 日上午 12:14:17 的日期解析为 LocalDatetime
【发布时间】:2020-07-28 03:37:41
【问题描述】:

我正在尝试使用

将 2020 年 4 月 15 日上午 12:14:17 解析为 LocalDateTime
DateTimeFormatter.ofPattern("MMM DD',' YYYY h:mm:ss a")

我遇到了异常

    Exception in thread "main" java.time.format.DateTimeParseException: Text 'Apr 15, 2020 12:14:17 AM' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {MonthOfYear=4, WeekBasedYear[WeekFields[SUNDAY,1]]=2020, DayOfYear=15},ISO resolved to 00:14:17 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.paypal.Test.main(Test.java:76)

【问题讨论】:

    标签: java java-8 localdate


    【解决方案1】:

    试试这个日期和年份小写的格式。

    DateTimeFormatter.ofPattern("MMM dd',' yyyy hh:mm:ss a")
    

    【讨论】:

      【解决方案2】:

      您的格式字符串仅包含一小时字符。应该是这样的:

       DateTimeFormatter.ofPattern("MMM dd, yyyy hh:mm:ss a")
      

      编辑我进一步修复了格式,使DDYYYY 小写。此外,您不需要排除逗号,因为它不是实际文本。

      【讨论】:

      • 线程“主”java.time.format.DateTimeParseException 中的异常:无法解析文本“2020 年 4 月 15 日上午 12:14:17”:无法从 TemporalAccessor 获取 LocalDateTime:{MonthOfYear= 4、DayOfYear=15, WeekBasedYear[WeekFields[SUNDAY,1]]=2020},ISO解析为java.time.format.Parsed类型的00:14:17
      • 不要使用DD。改用dd 或者yyyy
      猜你喜欢
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-26
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多