我如何更新OpenJDK的时区信息?Oracle发布了tzupdater,但受其许可限制,因此我不想使用它。我正在寻找一种开源替代方案,可以允许我仅更新时区信息而不是整个JRE。
我如何更新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安装程序还不知道这一点,可能会在该特定地区处理时间时出现错误。 更新时区数据可以解决此问题。
Locale
混淆,后者与时区完全无关,完全正交,但由于本地化日期时间值的文本String
表示而涉及到日期时间工作。将时区和语言环境混淆是程序员在学习日期时间工作时常见的困惑来源。我建议用“特定地区”之类的东西来替换“该特定国家的语言环境”。 - Basil Bourque