当前位置: 首页 > 知识库问答 >
问题:

如何在java中将日期字符串“2021-08-03T10:00:00EDT”解析为ZonedDateTime?

郎磊
2023-03-14

我尝试使用低于模式的模式时出现低于错误

private static final DateTimeFormatter DATE_TIME_FORMATTER
        = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssz");

有人能解释一下这背后的原因吗??

以上模式收到错误:java。时间总体安排DateTimeParseException:无法在索引19处分析文本“2021-08-03T10:00:00EDT”

共有1个答案

解河
2023-03-14

您可以通过以下方式进行解析

String val="2021-08-03T10:00:00EDT";
DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssz");
ZonedDateTime zonedDateTime=ZonedDateTime.parse(val,DATE_TIME_FORMATTER);
System.out.println(zonedDateTime);
 类似资料:
  • 如何将“2021 11月20日01:00”格式的日期解析为分区日期时间?我试着这样做: 但是得到了这个奇怪的错误: Java语言时间总体安排DateTimeParseException:无法解析文本“2021 11月20日01:00”:无法从TemporalAccessor获取ZonedDateTime:{OffsetSeconds=3600},ISO解析为java类型的2021 11月20日。时

  • 问题内容: 如何将下面的日期字符串解析为一个Date对象? 引发异常… 问题答案: 模式是错误的。您有3个字母的天的缩写,因此必须为。您有3个字母的月份缩写,因此必须为。由于这些日和月的缩写对语言环境敏感,因此您也希望将语言环境明确指定为英语,否则它将使用平台默认语言环境,而语言环境本身可能不是英语。 这在这里打印 根据我的时区是正确的。 如果您不想使用代替,我也会重新考虑。阅读javadoc以获

  • 我试图用GMT解析一个表示日期的字符串,但它在我的PC(太平洋)上的时区中打印出来。当我运行下面的时,我得到下面的输出。关于如何让解析器解析并返回GMT日期有什么想法吗?如果您看下面,我正在使用format.settimezone(timezone.gettimezone(“GMT”))设置时区;但它并没有产生预期的结果。 以下代码的输出: 10月29日星期一05:57:00 PDT 2012

  • 问题内容: 我从声称的API获取下一个字符串 所有日期格式均为ISO8601。 我正在尝试下一个代码: 不幸的是,结果 updatedAt 为nil 问题答案: 您的日期格式不正确,您需要考虑毫秒。 需要澄清的是,在日期格式中添加可以解决此问题。

  • 问题内容: 我有一个字符串,例如date month year(31 08 2012)。我想将其转换为日期格式。 问题答案: 首先,您的格式有误,应该是

  • 当使用LocalDateTime.parse解析的日期中的秒值为零时,下面的代码(Java 8)片段删除我的日期时间的秒部分,如2018-07-10 00:00:00: 词汇日期打印如下: 词汇日期:2018-07-10T00:00 而不是: 词汇日期:2018-07-10T00:00:00 现在,这影响了公历的日期值,当秒被删除时,该日期值返回null。其他情况下,当秒的值大于零时,它可以很好地