Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JavaTZUpdater会添加闰秒?_Java_Date_Datetime_Time_Leap Second - Fatal编程技术网

为什么JavaTZUpdater会添加闰秒?

为什么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忽略了闰秒:

然而,该文件提到:

新闰秒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-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是不可能的!)的错误陈述。