gpt4 book ai didi

java - 奇怪的日期字符串格式

转载 作者:行者123 更新时间:2023-11-29 04:05:38 26 4
gpt4 key购买 nike

Java 应用程序获取 JSON 消息流,其中,表示某个日期的字符串字段的格式类似于\"2019-01-01+01:00\"。

看起来是一个正常的日期,后面是timezone-offset,我的这个猜测已经在制作方得到了证实。

问题:尽管我仍然没有真正理解它背后的逻辑,但我必须在我的 Java 应用程序中解析它。最简单的方法是在“+”字符上拆分该字符串,然后仅使用 LocalDate 中的某种模式解析日期部分。

但出于好奇,也许 Java 中有一些我不知道的日期格式,可以允许这种奇怪的字符串格式?

最佳答案

是的。 DateTimeFormatter.ISO_OFFSET_DATE .我同意这很奇怪,我不知道你应该对偏移量有什么用。但是您可以使用格式化程序解析为 LocalDate:

    String stringFromJson = "2019-01-01+01:00";
LocalDate date = LocalDate.parse(stringFromJson, DateTimeFormatter.ISO_OFFSET_DATE);
System.out.println(date);

输出:

2019-01-01

+(加号)处拆分并不总是有效。带有偏移量的日期也可能带有负偏移量,例如 -04 :00,并带有偏移量 Z(表示零,即 UTC)。当然,您可以编写代码来手动处理每种情况,但最好使用内置格式化程序。

不要使用 DateSimpleDateFormat 这些类设计不佳且早已过时,后者尤其麻烦。使用 LocalDateDateTimeFormatter,均来自 java.time, the modern Java date and time API .

关于java - 奇怪的日期字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58939748/

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