我们有4台服务器在生产中,并且它们的所有时间都正在使用NTP(网络时间协议)服务器进行同步,所有这些服务器都在新西兰,并且作为Daylight的一部分,服务器已提前1小时,即+1200到+ 1300,但似乎所有使用JVM的应用程序都被打击了+1200。

所以我写了一段代码来显示时间,并确认JVM没有节省时间。有关此行为的任何建议或解释。之间,我不想建议重新启动服务器作为其生产盒。

我们正在使用ibmJDK而不是Oracle JDK。

最佳答案

您所指的特定的夏时制规则是否最近更改了,或者已经存在了很多年?

Java使用自己的内部时区数据库,而不是系统的内部时区数据库。

检查服务器上的Java时区数据库是否最新。
如果不是,那么您可能需要考虑JDK更新-特别是在运行旧版本时。

您可以在这里找到更多详细信息:https://www.oracle.com/technetwork/java/javase/timezones-137583.html

该表还可以帮助您找到时区数据库的特定版本(但我不确定IBM JDK的特定内容):https://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html

10-07 19:27
查看更多