【发布时间】:2021-10-25 12:13:17
【问题描述】:
我正在尝试通过提供区域偏移来获取所有 zoneId,例如“GMT+2”作为字符串。但是,我不确定是否可以使用任何 Java 8+ 库。是否可以获得具有给定区域偏移量的所有区域 id 值?
java.time中有一个叫getAvailableZoneIds()的方法,但它不带offset参数。
【问题讨论】:
-
zoneIds 和 offsets 之间的关系并不是那么简单,因为 DST 和类似的转换。您想要所有曾有/有“GMT+2”偏移量的 zoneId,还是现在?
-
链接问题演示了如何在给定时刻获取 zoneId 的偏移量
-
@Hulk 你是什么意思?
-
好吧,accepted one 表明
zoneID.getRules().getOffset(instant);在给定时刻产生偏移量(就像 deHaar 的 answer 在这里)。其他人添加了更多上下文和替代方式。请注意,结果将取决于给定的 Instant - 除了每年的 DST 转换之外,还会偶尔(每隔几年)创建新区域。 -
如果我查询当前时间,我认为没有问题。有什么想法吗?
标签: java datetime timezone java-time timezone-offset