首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时拥有ZoneId和ZoneOffset有意义吗?

同时拥有ZoneId和ZoneOffset有意义吗?
EN

Stack Overflow用户
提问于 2020-07-16 02:45:34
回答 1查看 73关注 0票数 0

例如,我对在Java语言中同时包含ZoneId和ZoneOffset的可能性感到有点困惑,日期2020-01-01'T'00:00:00+01:00[UTC-8]有意义吗?现在是协调世界时的几点?它是UTC-8时区的+01:00偏移量,因此与2020-01-01'T'00:00:00[UTC-7]相同吗

EN

回答 1

Stack Overflow用户

发布于 2020-07-16 03:12:32

没有2020-01-01'T'00:00:00+01:00[UTC-8]是自相矛盾的。我怀疑有没有一种方法可以构造一个具有这个值的ZonedDateTime。或者仅通过定义您自己的时区,该时区在该时间点的ID为UTC-8,偏移为+01:00。

ZonedDateTime同时具有时区和偏移量。

我不确定它是否与你的问题相关,但研究我们是否可以从自相矛盾的字符串中找出时间点的一种方法可能是:

代码语言:javascript
复制
    System.out.println(ZonedDateTime.parse("2020-01-01T00:00:00+01:00[Pacific/Pitcairn]"));

Java 11上的输出:

2019-12-31T15:00-08:00太平洋/皮特凯恩

皮特凯恩全年的偏移量为-08:00。看起来ZonedDateTime选择了信任偏移量+01:00,所以时间和2019-12-31T23:00一样。然后,它将此时间转换为根据时区数据库为太平洋/皮特凯恩时区找到的偏移量,得出该时区的15:00。

编辑:

现在是协调世界时的几点?它是UTC-8时区的+01:00偏移量,所以它与2020-01-01'T'00:00:00[UTC-7]相同吗?

不,这完全不一样。2020-01-01'T'00:00:00[UTC-7]将与协调世界时2020-01-01T07:00:00的时间点相同,但正如我所说,我们在协调世界时得到2019-12-31T23:00,比您建议的时间早了8个小时。-08:00不用于解释时间点,它们仅用于转换。

PS在2020-01-01T00:00:00+01:00[UTC-8]中没有任何单引号。它们的格式模式只能用于打印和/或解析这样的字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62921789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档