【发布时间】:2022-02-07 09:51:33
【问题描述】:
加拿大/育空时区不再遵守 DST(来源 https://www.timeanddate.com/time/change/canada/yukon),现在永久为 GMT-7。但是当我尝试这个时:
ZonedDateTime nowZoned = LocalDateTime.parse("2021-02-03T08:04:00").atZone(ZoneOffset.UTC).toInstant().atZone(ZoneId.of("Canada/Yukon"));
nowZoned 显示为 2021-02-03T00:04-08:00[Canada/Yukon]。
这是否意味着当某些时区决定不遵守 DST 或决定永久提前移动时 java.time 库不会更新?有哪些方法可以解决这个问题?我考虑过手动检查这些,但是手动处理它们的时区太多了。谢谢!
【问题讨论】:
-
“这是否意味着当某些时区决定不遵守 DST 或决定永久提前移动时,java.time 库不会更新?” - 在猜,是的。此信息 (AFAIK) 存储在 JVM 内部,因此需要更新 JVM