日期:2014-05-20  浏览次数:20729 次

java取当前时间,竟然与实际时间差了整几个小时?大家遇到过这个问题吗
最近遇到了一个奇怪的问题,我通过下面的代码取系统时间,竟然与os的时间正好差几个小时:
                System.out.println( "[ "   +
                                                      (new   java.text.SimpleDateFormat(
                                                                      "yyyy-MM-dd   HH:mm:ss ")).
                                                      format(new   java.util.Date())   +   "] ");
比如我系统时间显示:2007-03-20   16:55:20
而java中得到的时间就是:[2007-03-20   08:55:20]
我在dos操作符下:TIME   /T的时间就是正确的。时区也没问题。
而且以前得到的时间都是正确的,不知道什么时候突然发现不对了。
我把我的程序放在好几台机器上试,只有1台机器跟我的情况类似,但是时间超前了1个小时。
我把jdk从1.5.0-07升级到现在的1.5.0-11也是一样的。
我怀疑我自己机器中什么毒了。
一直没查到有类似情况的帖子,不知道大家谁遇到过,有解决办法吗?
谢谢了!~~~~~


------解决方案--------------------
这是环境变量有问题吧,很中毒没关系的-.-
Calendar有个子类GregorianCalendar,你在程序中获取下,然后输出他的时区 显示不正确的机器和正确的应该不一样的
------解决方案--------------------
看你的TimeZone设置了。。。

------解决方案--------------------
cheung6623(cottage) ( )
哈哈 都跑到英国去拉  你设置下你的系统时间 JAVA也是取的你系统资源
还不行的话 看看WINDOWS的帮助文档