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的帮助文档