gpt4 book ai didi

Java DateTimeFormatter.ISO_OFFSET_DATE_TIME 与 Java 8 相比,在 Java 9+ 中返回不同的值

转载 作者:行者123 更新时间:2023-12-02 11:15:42 24 4
gpt4 key购买 nike

运行以下代码时,不同版本的 JDK 会出现不同的行为:

Java 8中我得到:

2020-01-07T09:34:38.994Z

Java 11中我得到:

2020-01-07T09:37:05.55126Z
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class MyClass {
public static void main(String args[]) {
ZonedDateTime now = ZonedDateTime.now();

DateTimeFormatter isoOffsetDateTime = DateTimeFormatter.ISO_OFFSET_DATE_TIME;

String format = isoOffsetDateTime.format(now);

System.out.println(format);
}
}

运行于https://www.jdoodle.com/online-java-compiler/只是为了更方便地快速更换JDK

此更改是否记录在任何地方,因为我找不到任何内容和/或有人知道为什么会发生这种情况?我发现这一点是因为 DateTimeFormatter.ISO_OFFSET_DATE_TIMEZonedDateTime 的默认 Jackson 格式化程序。

最佳答案

格式化程序的行为没有改变,但您正在格式化的内容却改变了。

now() 方法返回的日期时间的精度提高了。 JDK-8068730

关于Java DateTimeFormatter.ISO_OFFSET_DATE_TIME 与 Java 8 相比,在 Java 9+ 中返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59626337/

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