gpt4 book ai didi

java - Java中将 "Fri, 02 Dec 2016 12:29:00 +0100"解析为OffsetDateTime

转载 作者:行者123 更新时间:2023-11-30 06:59:11 24 4
gpt4 key购买 nike

当我尝试用 Java 解析以下字符串时,我有点卡住了

Fri, 02 Dec 2016 12:29:00 +0100

我使用 OffsetDateTime 的方法如下:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E, dd MMM yyyy HH:mm:ss xx");
OffsetDateTime time = OffsetDateTime.parse(dateString, formatter);

其中“dateString”是上面的字符串。我错过了什么吗?

感谢您的回答。

最佳答案

使用预定义的格式化程序

DateTimeFormatter 类为该输入字符串提供一个常量实例。该字符串格式由 RFC 1123 定义。 。使用常数DateTimeFormatter.RFC_1123_DATE_TIME .

String input = "Fri, 02 Dec 2016 12:29:00 +0100";
OffsetDateTime odt = OffsetDateTime.parse ( input , DateTimeFormatter.RFC_1123_DATE_TIME );

odt.toString(): 2016-12-02T12:29+01:00

参见live code in IdeOne.com .

这个格式化程序似乎内置了英语。您的 JVM 当前的默认Locale 是无关紧要的。在上述代码中添加诸如 Locale.setDefault ( Locale.CANADA_FRENCH ); 之类的行没有任何影响。因此,虽然上面的注释给出了始终指定 Locale 而不是隐式依赖当前默认值的好建议,但这个特定的格式化程序是一个异常(exception)。

关于java - Java中将 "Fri, 02 Dec 2016 12:29:00 +0100"解析为OffsetDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com