WIN7和JDK1.5环境下获取系统时间错误
无论是new Date()还是Calendar.getInstance()获取的都是格林威治时间,而且user.timezone也是GMT,更郁闷的是,同样配置的其他同事却没有这个问题。
网上有些人说改过系统时间或时区后这个问题就能解决,但是我改了,问题依旧。
不知道各位大虾遇到过这个问题没有,是怎么解决的?
------解决方案--------------------试试Calendar.getInstance(Locale.CHINA)
------解决方案--------------------本人win7 64,没任何问题
------解决方案--------------------是你时区的问题吧
------解决方案--------------------找到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目录下
网上找到的方法,不知道可行不
------解决方案--------------------
还有个办法就是在eclipse的run as的参数设置,VM参数中添加 -Duser.timezone=Asia/Shanghai
然后运行方法试下,应该就设好了
------解决方案--------------------
另外,如果是 jdk 1.5 的话,那用 java -version 看一下 java 的版本号,根据 Sun 提供的资料,对应于 Windows 系统,JDK 1.5 最小的版本号:
Windows 7, Windows 2008 R2, Windows Vista SP2, Windows 2008 SP2 需要 1.5.0_21 及以后版本
Windows 2008 需要 1.5.0_19 及以后版本
Windows Vista 需要 1.5.0_14 及以后版本
JDK 1.6 系统支持最小的版本号
Windows 7 需要 1.6.0_14 及以后版本
Windows Server 2008 R2 需要 1.6.0_16 及以后版本
你检查一下 JDK 的版本,JDK 5 的输出结果必须是大于等于 1.5.0_21 的。