Java时间领先于linux时间(闰秒)



我已将Linux系统日期更改为2012年6月30日星期六23:50:00。更改日期后,我正在运行一个简单的java程序来记录系统日期。问题是:Java的日志记录时间比Linux系统提前了25秒。例如:Java日志:2012-07-01 00:02:15信息日程安排:19-7月1日星期日格林尼治标准时间2012Linux时间:2012年7月1日星期日格林尼治标准时间00:01:50两者都是GMT!

我这样做是为了分析闰秒问题。我查了一下/etc/localtime的闰秒总数是25。zdump-v/etc/localtime|grep 59:60|wc-l25

我重新启动了系统,也重新启动了ntp服务器,但仍然有25秒的差距!

我使用的是SUSE Linux Enterprise Server 11 SP3(x86_64)和JAVA 1.7

请帮我弄清楚怎么了?如何解决这个问题?

您需要在JRE中更新时区数据:

  • 从下载Oracle tzupdaterhttp://www.oracle.com/technetwork/java/javase/downloads/tzupdater-download-513681.html
  • 注2015更新包括对New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49的修复
  • 运行它:java -jar tzupdater.jar

相关内容

  • 没有找到相关文章

最新更新