Java TZ:我可以从Java 7复制zi文件夹并将其粘贴到Java 6中吗?

时间:2015-02-03 11:06:37

标签: java timezone timezone-offset

我的应用程序使用Oracle JDK 1.6.39,它具有根据时区转换时间的功能。

Java 1.6.39认为“America / Eirunepe”和“America / New_York”(EST)之间的时差为1小时。但实际上这些时区之间没有时间差异。

为了解决这个问题,我发现我应该运行oracle提供的时区更新工具(tzupdator工具)。

有关TZUpdater工具的更多信息:http://www.oracle.com/technetwork/java/javase/dst-faq-138158.html

目前,TZUpdater工具可用于Java7和Java8 http://www.oracle.com/technetwork/java/javase/downloads/index.html

但我的应用程序使用的是Java 1.6.39,由于某些技术原因我无法更新java。

我的问题是: 我可以从最新版本的java复制$ JAVA_HOME / jre / lib / zi / America /中的Eirunepe二进制文件吗?我已经尝试更新它并且它可以工作,但我不确定它是否会导致任何其他问题。这样做是否安全?

这里的任何帮助都会非常值得注意。

1 个答案:

答案 0 :(得分:0)

是的,只更换文件是安全的,因为zi-file-format的内部版本没有改变。整个zi格式自Java早期以来一直没有改变。如果您仔细研究SUN / Oracle-classes ZoneInfoZoneInfoFile的源代码,那么您将看到该版本仍为1.

但请注意,所有这些文件都已经使用Java 8 ,因此只要您被迫使用Java 6,这只是一个临时解决方案。另请参阅此JDK-8007572-ticket

是的,对于Java 7,你应该使用tzupdater-tool。