如何更新 OpenJDK 的时区信息?

How do I update the timezone information for the OpenJDK?

如何更新 OpenJDK 的时区信息? Oracle 推出了 tzupdater,但它受其许可的约束,所以我不想使用它。我正在寻找一个开源替代方案,它允许我只更新时区信息而不是整个 JRE。

Azul 最近发布了更新 TZ 数据的开源工具:https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/

它的工作原理类似于 Oracle tzupdater,但具有开源(GPLv2 许可证)许可证。

用法:将其应用于您要更新的 Java 的 IANA 数据包:

$JAVA_HOME/bin/java -jar ziupdater.jar -l file://[path]/tzdata.tar.gz

通过此命令,您可以将对时区的更改应用于 Java 安装。


什么意思?

考虑下一种情况:您在一年前安装了 Java,后来某个国家/地区的政府更改了他们的法律,例如取消夏令时。您的 Java 安装还不知道这一点,并且可能会错误地处理该特定区域的时间。更新时区数据解决了这个问题。