我的应用程序使用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 on http://www.oracle.com/technetwork/java/javase/downloads/index.html
但是我的应用程序使用Java1.6.39,由于一些技术原因,我无法更新Java。
我的问题是:我可以从最新版本的java复制$java_HOME/jre/lib/zi/America中的Eirunepe二进制文件吗?我尝试过更新它,但我不确定它是否会引起任何其他问题。这样做安全吗?
这里的任何帮助都将是非常值得赞赏的。
发布于 2015-02-03 12:42:37
是的,只是替换文件是安全的,因为zi格式的内部版本没有改变。自Java早期以来,整个zi格式都没有改变。如果您仔细研究SUN/Oracle ZoneInfo和ZoneInfoFile的源代码,那么您将看到版本仍然是1。
,但请注意,所有这些文件都随Java8一起运行,所以只要您出于任何原因被迫使用Java6,它只是一个临时解决方案。也请参阅这个JDK-8007572-门票。
是的,对于Java 7,您应该使用tzupdater工具。
https://stackoverflow.com/questions/28297372
复制相似问题