gpt4 book ai didi

java - 使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错

转载 作者:IT老高 更新时间:2023-10-28 21:01:00 27 4
gpt4 key购买 nike

我正在尝试使用 TZUpdater 2.2.0 更新 JVM 的时区信息.

> [root@local tzupdater-2.2.0]# java -jar tzupdater.jar -V
tzupdater version 2.2.0-b01
JRE tzdata version: tzdata2018d
tzupdater tool would update with tzdata version: tzdata2018f

所以,我正在运行以下命令:

> [root@local tzupdater-2.2.0]# java -jar tzupdater.jar -l

但是,我收到以下错误消息:

Failed: java.lang.Exception: Failed while parsing file '/tmp/tz.tmp_1/asia' on line 1655 'Rule  Japan   1948    1951    -   Sep Sat>=8  25:000S'
java.lang.Exception: Failed while parsing file '/tmp/tz.tmp_1/asia' on line 1655 'Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S'
at tools.tzdb.TzdbZoneRulesCompiler.parseFile(TzdbZoneRulesCompiler.java:377)
at tools.tzdb.TzdbZoneRulesCompiler.compile(TzdbZoneRulesCompiler.java:191)
at tools.tzdb.TzdbZoneRulesCompiler.<init>(TzdbZoneRulesCompiler.java:307)
at com.sun.tools.tzupdater.ExternalModule.compileToJSRBinary(ExternalModule.java:153)
at com.sun.tools.tzupdater.TimezoneUpdater.run(TimezoneUpdater.java:230)
at com.sun.tools.tzupdater.TimezoneUpdater.main(TimezoneUpdater.java:634)
Caused by: tools.tzdb.DateTimeException: Invalid value for SecondOfDay value: 90000
at tools.tzdb.ChronoField.checkValidValue(ChronoField.java:173)
at tools.tzdb.LocalTime.ofSecondOfDay(LocalTime.java:210)
at tools.tzdb.TzdbZoneRulesCompiler.parseMonthDayTime(TzdbZoneRulesCompiler.java:475)
at tools.tzdb.TzdbZoneRulesCompiler.parseRuleLine(TzdbZoneRulesCompiler.java:399)
at tools.tzdb.TzdbZoneRulesCompiler.parseFile(TzdbZoneRulesCompiler.java:354)
... 5 more

我正在使用 https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz作为 tzdata 包的来源。

已编辑 - 此外,我正在使用 Java(TM) SE 运行时环境(内部版本 1.8.0_66-b17)和 OpenJDK 运行时环境(内部版本 1.8.0_181-8u181-b13-1 ~deb9u1-b13),同时我使用 TZUpdater 或 ZIUpdater 报告了同样的问题

谁能帮我解决这个问题?任何意见将不胜感激。

非常感谢。

最佳答案

是的,1948-1951 年日本的规则在 2018 年以一种“有趣”的方式发生了变化:官方称日本的倒退发生在周六的 25:00,而不是周日的 01:00。这让 Java 时区更新程序以及我自己的 Noda Time 项目感到困惑。

现在有一个 commit to avoid 25:00 in the "rearguard" format - 后卫格式基本上比较保守,避免像爱尔兰的负夏令时。

我预计 2018g 版本很快就会发布,包含该修复程序。假设 tzupdater 工具适本地使用后卫,我希望它能解决问题。如果你能等到那个时候,我会这样做。否则,使用 tzupdater 上的 -l 标志来指定不同的数据源,例如2018e:https://data.iana.org/time-zones/releases/tzdata2018e.tar.gz

关于java - 使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com