我已将Linux系统日期更改为Sat Jun 30 23:50:00 2012。在更改日期之后,我运行了一个简单的java程序来记录系统日期。问题是: Java的日志记录比Linux系统时间提前了25秒。例如: Java log: 2012-07-01 00:02:15 INFO Scheduler:19 - Sun Jul 01 00:02:15 GMT 2012 Linux time: Sun Jul 1 00:01:50 GMT 2012均为GMT!
我这样做是为了分析闰秒问题。我在/etc/localtime中检查了总的leap秒数,它是25。zdump -v /etc/localtime | grep 59:60 | wc -l 25
我重新启动了系统,也重新启动了ntp服务器,但仍然有25秒的差异!
我使用的是SUSE Linux Enterprise Server11 SP3 (x86_64)和Java1.7
请帮我弄明白出了什么问题?如何解决这个问题呢?
发布于 2015-03-25 19:33:28
您需要在JRE中更新时区数据:
从http://www.oracle.com/technetwork/java/javase/downloads/tzupdater-download-513681.html
tzupdater更新包括New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49
java -jar tzupdater.jarhttps://stackoverflow.com/questions/29254366
复制相似问题