gpt4 book ai didi

java - 如何将日期转换为 ZonedDateTime?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:10:05 24 4
gpt4 key购买 nike

我有各种 java.util.Date 对象,其值格式如下:2014-01-21 10:28:57.122Z。我想将它们全部转换为 ZonedDateTime 对象。

根据 this所以问题,和ZonedDateTime's ofInstant() ,一种方法是这样的:

ZonedDateTime z = ZonedDateTime.ofInstant(dateObject.toInstant(), ZoneId);

问题是,我如何确定用于ZoneId 参数的内容?我无法使用我的系统时间 (ZoneId.systemDefault()),因为我的 Date 对象都有不同的时区。

最佳答案

你的 java.util.Date对象没有有时区。日期始终以 UTC 格式在内部存储。

当您将文本字符串解析为 Date 时对象,解析器应用时区,或者在文本中给定,作为解析器的参数,或者默认。

当您显示 Date 时对象,格式化程序将根据请求生成文本,在请求的时区中,无论是否显示时区。

因此,Date 中没有时区信息对象,必须在转换为 ZonedDateTime 时指定您想要的时区.

更好的是,将文本直接解析为 ZonedDateTime,因此可以记住文本中的原始时区。

关于java - 如何将日期转换为 ZonedDateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127868/

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