在Windows7机器上java.util.Date是GMT,但Windows时钟应用程序显示正确的本地时间



我有一个Java应用程序,它显示各种日期,都在当地时区。在Windows 7的测试中,它一直运行正常。现在,它已经被转移到Windows 7机器的生产环境中,其中Clock显示正确的本地时间,但所有交互都与java.util有关。日期、java.util。时区等。告诉我Java认为它的本地时区是GMT。

更奇怪的是,根据在其他地方读到的一些信息,我比较了HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation键在一台机器上的注册表设置和一台没有出现问题的机器,发现它们是相同的?

什么会导致这种情况发生?我从来没见过这样的事。是否有我不知道的Windows 7或Java设置?

这台计算机是否有可能在Java控制面板或应用程序启动时的其他地方显式设置user.timezone参数?看到

您可以尝试的另一种方法(根据本文评论中的一位用户的说法)是:

  • 停止应用程序和其他Java应用程序。
  • 将Windows中的时区更改为其他时区(单击应用)。
  • 把它改回正确的时区
  • 重新启动应用程序。

不确定这是否仍然适用,因为那篇文章是关于Windows XP的,但这肯定会在注册表中重新创建所有必要的时区键-以防其中一个没有正确设置。

同时,确保机器有一个更新版本的Java。

除此之外,我不确定会是什么

相关内容

  • 没有找到相关文章