`
zwhc
  • 浏览: 258180 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

解决win7下使用jdk1.5,时间差8小时的问题

    博客分类:
  • java
阅读更多
解决方式:
打开注册表时区的节点[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Time Zones/China Standard Time]

添加:
MapID=-1,75

-------------------------------------------
诉苦:
在 win7 下,打印出来的日志,时间一直差 8 小时,极郁闷。
今天有空,想看看问题在哪里。

查了半天,好多人在问这问题,但没找到合适的解决方式。

特别是这里,看了半天,好象不好用。
http://topic.csdn.net/u/20100507/14/c2c0ec6a-fc12-4ba6-ad2d-3c070c04266c.html?1537756366

1、
试试JDK DST Timezone Update Tool
http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html#timezone
http://java.sun.com/javase/tzupdater_README.html

评价:试了一下,这个工具只是添加一些 timezone 的信息,没作用。

2、
找到Java目录下的

依次: \jre\lib\zi\Etc

  \jre\lib\zi

  \jdk1.6.0_18\jre\lib\zi\Etc

  \jdk1.6.0_18\jre\lib\zi

下找到GMT文件,删除之(可以备份一下,以防万一),然后复制一份GMT-8并重命名为GMT替换原来的GMT
GMT-8在Etc目录下

评价:
要用 GMT+8 文件来替换。但,这样强行改 GMT,担心什么时候引发其它问题。

-------------------------------------------
我自已的解决方案:
在启动类的最开始,添加如下代码:
static {
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
}

但总觉得这样也不是王道。

-------------------------------------------
闲着也是闲着,继续找,终于找到如下两篇文章:

-------------------------------------------
参考1:

先找到这里
http://www.blogjava.net/Simmons/articles/336120.html
“Display“=“(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐”

但其将 Display 从 UTC 改为 GMT,让我犹豫

google:win7 java TimeZone


---------------------------------------
参考2:

解决win7下使用jdk1.5,时间差8小时的问题 - Nonetracer的专栏
http://blog.csdn.net/Nonetracer/article/details/5718796


其他的不管,先把MapID键加上再说。加上后,再运行我那个取系统时间的测试程序,OK!问题解决!

google: java1.5 timezone utc

---------------------------------------

终于解决了,擦汗。

---------------------------------------
原因:
win7 使用 UTC 时间,而不是 GMT 时间。
java6 可以认到,呃,不知是用哪种方式认到的。
java5 认不到,貌似用的是注册表来判断:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Time Zones/China Standard Time]
MapID=-1,75

添加上   MapID=-1,75 即可。
0
1
分享到:
评论
1 楼 azvf 2013-02-25  
win7 使用 UTC 时间,而不是 GMT 时间。
java6 可以认到,呃,不知是用哪种方式认到的。
java5 认不到,貌似用的是注册表来判断:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Time Zones/China Standard Time]
MapID=-1,75

添加上   MapID=-1,75 即可。
-----------------我是华丽分割线--------------------------------
这个好用,顶个。
补充个,新建"字串值项",即可

相关推荐

Global site tag (gtag.js) - Google Analytics