- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一段简单的代码来使用 java 8 api 解析日期。我还解决了有关此主题的各种其他堆栈溢出问题,但未能解决错误。
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
你能帮我解决这个问题吗?
编辑:
有人问我它是否可能是 Unable to obtain LocalDateTime from TemporalAccessor when parsing LocalDateTime (Java 8) 的副本
事实并非如此,因为上述问题讨论的是 LocalDate 和 LocalDateTime 的用法差异,而当前的问题是关于为模式使用正确的符号或字母表。
最佳答案
"EEE, MM/DD/YYYY - HH:mm"
Read the documentation仔细了解格式化模式代码是区分大小写的。
DD
表示一年中的某一天。 dd
表示每月的第几天。YYYY
表示基于周的年份。 yyyy
(和 uuuu
)表示日历年。在发布到 Stack Overflow 之前请多加小心。您可能已经找到了数百个已发布在 Stack Overflow 上的工作代码示例,以显示代码中的错误。
提示:避免自定义格式,例如在您的问题中看到的格式。将日期时间值序列化为文本时,始终使用标准 ISO 8601格式。它们非常实用和有用,设计明确,易于机器解析,并且易于跨文化的人类阅读。
java.time 类在解析/生成字符串时默认使用 ISO 8601 格式。因此无需指定格式模式。
关于time - 无法解析文本 : Unable to obtain LocalDateTime from TemporalAccessor:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963025/
我收到一个未知时间(ISO 格式的日期、时间或时间戳)的请求参数,并希望将其解析为 java.time.temporal.TemporalAccessor: LocalDate 当字符串表示像 "20
这个问题在这里已经有了答案: JDK8: unable to parse LocalTime (4 个回答) DateTimeParseException: Text could not be par
我有一个以下格式的日期,我需要解析它并转换为纪元时间。 2018-11-08 08:17:18.696124 我有以下代码。 String dateString = "2018-11-08 08:17
我试图将一些日期字符串解析为日期值,但是,使用下面的代码,我得到了一个异常: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("Q'
我正在尝试将 String 日期的格式从 EEEE MMMM d 更改为 MM/d/yyyy,首先,转换将其转换为 LocalDate,然后将不同模式的格式化程序应用于 LocalDate,然后再次将
使用 Java 1.8.0_51 以下代码(取自 Unable to obtain OffsetDateTime from TemporalAccessor) DateTimeFormatter fo
我正在尝试将格式为“YYYYww”(例如 201901)的简单字符串解析为 LocalDate,但我的尝试都没有成功。 我试图通过简单地使用模式“YYYYww”以及通过手动将值附加到 Formatte
当我这样做的时候 String datum = "20130419233512"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
我编写了一段简单的代码来使用 java 8 api 解析日期。我还解决了有关此主题的各种其他堆栈溢出问题,但未能解决错误。 package com.test.java8api; import java
我有一个特定的类可以解析(相当)多种日期: // imports omitted for brevity public final class DateParser { private sta
我编写了一段简单的代码来使用 java 8 api 解析日期。我还解决了有关此主题的各种其他堆栈溢出问题,但未能解决错误。 package com.test.java8api; import java
我需要将标准的长 System.currentmillis 转换为临时访问器,但不知道如何开始。 最佳答案 Instant是一个 TemporalAccessor,因此您可以从纪元以来的毫秒数创建一个
这个问题已经有答案了: Unable to obtain OffsetDateTime from TemporalAccessor (3 个回答) Unable to obtain LocalDate
我尝试使用 "yyyyMMddHHmmssZ" 格式解析 "20140726080320+0400",如下所示: System.out.println("********************" +
给定一个 DateTimeFormatter 定义为: public static final DateTimeFormatter DATE_TIME = new DateTimeFormatterB
我在我的 Maven 项目中使用 Threetenbp 版本 1.4.4。在 tomcat 容器中部署 JAR 时,出现以下异常: java.lang.NoClassDefFoundError: "o
这是我的代码: private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM dd HH:mm:ss");
我正在使用下面的代码来解析日期字符串: String time = "2 Jun 2019 03:51:17 PM ACST"; String pattern = "d MMM yyy
LocalDateTime.parse("2017-02-02 08:59:12", DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")); 它打印错
解析 DateTime 时出现异常。我在这里缺少什么 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("0DDDHHmmss");
我是一名优秀的程序员,十分优秀!