为什么JavaTZUpdater会添加闰秒?
有一些参考文献提到Java忽略了闰秒: 然而,该文件提到: 新闰秒2015-06-30 23:59:60 UTC根据IERS公告C 49 第三方Java库Time4J使用自己的闰秒列表为什么JavaTZUpdater会添加闰秒?,java,date,datetime,time,leap-second,Java,Date,Datetime,Time,Leap Second,有一些参考文献提到Java忽略了闰秒: 然而,该文件提到: 新闰秒2015-06-30 23:59:60 UTC根据IERS公告C 49 第三方Java库Time4J使用自己的闰秒列表 如果java忽略了闰秒,为什么java的tzupdater工具会增加闰秒 我现在仔细查看了TZUPDATER和IANA的发行说明(在其实验位置github/eggert/tz): TZUPDATER说: 以美国/坎昆为代表的墨西哥金塔纳州将 从有DST的中央时间转换到没有DST的东部时间 2015-02-0
如果java忽略了闰秒,为什么java的tzupdater工具会增加闰秒 我现在仔细查看了TZUPDATER和IANA的发行说明(在其实验位置github/eggert/tz): TZUPDATER说: 以美国/坎昆为代表的墨西哥金塔纳州将 从有DST的中央时间转换到没有DST的东部时间 2015-02-01 02:00。智利不会在4月或9月更换时钟 此后;新的标准时间将是旧的夏时制 时间这影响到美国/圣地亚哥、太平洋/复活节和 南极洲/帕尔默。新闰秒2015-06-30 23:59:60 UTC根据 第49号公告 IANA说: 发布日期2015a-2015-01-29 22:35:20-0800
Changes affecting future time stamps
The Mexican state of Quintana Roo, represented by America/Cancun,
will shift from Central Time with DST to Eastern Time without DST
on 2015-02-01 at 02:00. (Thanks to Steffen Thorsen and Gwillim Law.)
Chile will not change clocks in April or thereafter; its new standard time
will be its old daylight saving time. This affects America/Santiago,
Pacific/Easter, and Antarctica/Palmer. (Thanks to Juan Correa.)
New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
(Thanks to Tim Parenti.)
从这一点来看,如果内容确实与Java发行版相关,那么Oracle员工很可能只是在不考虑内容的情况下进行了复制和粘贴。唯一的变化是删除了作者引用。当然,事实仍然是,在实际的OpenJDK和Oracle Java发行版中,没有代码或位置可以加载这样的闰秒数据
在我自己对此的回答中,我还指出了最新的一个相关案例,三位项目负责人最终放弃了对leap seconds的临时可用计划支持。因此,您对Java-8的乐观是没有道理的
顺便说一句,Time4J的最新版本v2.3现在可以部署IANA-TZDB中包含的闰秒信息,正如您从TZUPDATER工具中所期望的那样。为什么您认为TZUPDATER会增加闰秒?David,据我所知,最新的TZUPDATER基于tzdata2015a增加了闰秒:好问题,但我认为这只是tzupdater发行说明中的复制粘贴操作。TZDB维护人员在他们的发行说明中有这个条目,Oracle只是复制它(但不是闰秒数据!)。关于@Costlow上的TZUpdater 2.0有一个很好的解释,Oracle甚至给出了毫无意义的建议,使用TZUpdater 2.0更新tz存储库,以获取有关闰秒的帮助,请参阅。似乎并不是Oracle的每个人都真正参与了这件事。他们甚至指出了JavaAPI关于0-61范围内可能的第二个值(值61是不可能的!)的错误陈述。