使用tzupdater-2.2.0更新tzdata 2018f(发布于​​2018-10-18)时出错 [英] Error updating tzdata 2018f (Released 2018-10-18) with tzupdater-2.2.0

查看:169
本文介绍了使用tzupdater-2.2.0更新tzdata 2018f(发布于​​2018-10-18)时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 TZUpdater 2.2.0 .

> [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

因此,我正在运行以下命令:

So, I'm running the command below:

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

但是,我收到此错误消息:

However, I'm getting this error message:

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捆绑包的来源.

I'm using https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz as the source for the tzdata bundle.

已编辑-另外,我正在使用Java(TM)SE运行时环境(内部版本1.8.0_66-b17)和OpenJDK运行时环境(内部版本1.8.0_181-8u181-b13-1) 〜deb9u1-b13),与此同时,我使用TZUpdater或

Edited - In addition, I'm using either Java(TM) SE Runtime Environment (build 1.8.0_66-b17) and OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13), meanwhile I have same reported problem using TZUpdater or ZIUpdater

有人可以帮我解决这个问题吗?任何评论将不胜感激.

Can anyone help me about this issue? Any comment will be appreciated.

非常感谢.

推荐答案

是的,1948-1951年的日本规则在2018f中以一种有趣的"方式发生了变化:正式地,日本的退避发生在星期六的25:00,而不是星期日的01:00.这使Java时区更新程序以及我自己的Noda Time项目感到困惑.

Yes, the rules for Japan in 1948-1951 changed in 2018f in an "interesting" way: officially, Japan's fall back occurred at 25:00 on Saturday, instead of 01:00 on the Sunday. That confused the Java time zone updater, as well as my own Noda Time project.

现在有一个承诺避免使用后卫"格式的25:00 -后卫格式基本上较为保守,避免了爱尔兰负面DST之类的问题.

There's now a commit to avoid 25:00 in the "rearguard" format - the rearguard format is basically more conservative, avoiding things like Ireland's negative DST.

我希望很快就会在某个时候发布2018g版本,以包含该修复程序.假设tzupdater工具适当地使用了后卫,我希望可以解决这个问题.如果您可以等到那时,我会这样做.否则,请使用tzupdater上的-l标志来指定其他数据源,例如对于2018年: https://data.iana.org/time-zones/版本/tzdata2018e.tar.gz

I would expect a 2018g release at some point reasonably soon, to include that fix. Assuming the tzupdater tool uses the rearguard appropriately, I'd expect that to sort things out. If you can possibly wait until then, I'd do so. Otherwise, use the -l flag on tzupdater to specify a different data source, e.g. for 2018e: https://data.iana.org/time-zones/releases/tzdata2018e.tar.gz

这篇关于使用tzupdater-2.2.0更新tzdata 2018f(发布于​​2018-10-18)时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆