JRE时钟与系统日期不同(提前一小时)

时间:2010-10-18 10:51:40

标签: timezone java clock

我安装了一台Windows server 2003机器,一台名为“Cisco Voice Portal”的cisco产品,该产品在JRE版本 1_5_0_12 上运行。 通过以下方式获取日期/时间:

new Date();

Calendar.getInstance();

系统日期的日期始终为提前一小时。 起初,我认为这是时区不匹配,但这是打印日期对象的输出:

Fri Oct 08 02:36:38 EST 2010

,系统时钟也在 EST 时区。这意味着时区是相同的。 系统日期是正确的,系统机器是悉尼,澳大利亚。 有什么建议来解决这个问题提前谢谢。

2 个答案:

答案 0 :(得分:2)

首先,JRE拥有自己的时区信息数据库,它可能与您原生平台上的数据库有所不同。

您可能遇到的另一个问题是,在启动JRE时,您可能指定了与主机平台不同的区域设置或时区,这也会导致此类行为。

PS :您可能希望从Oracle(例如Sun)读取此FAQ entry有关平台和JVM时区如何相关的信息。

答案 1 :(得分:1)

您是否尝试升级到较新的JRE版本?请参阅错误6595137,这似乎在1.5.0_13中已修复。