为什么我在用new Date()获取当前时间的时候总是得到的是GMT的时间,即格林威治的时间。比我们东8区的时间少8个小时。
我用TimeZone打出来的offset时区偏移量也是0
我用的是JDK1.4,系统中的时区也设置了是GMT +8 (北京)
唯一不同的是我的系统是Vista的。
迷惑中。。各位帮忙看看。。
谢谢!~

解决方案 »

  1.   

    那你用Calendar打出来的时间对不对?
      

  2.   

    我也是,系统中的时区是设置的是北京,也用Calendar打印过时间,可是还是格林威治时间楼主解决了吗
      

  3.   

    还没有,不知道是怎么回事,我的操作系统是vista的,不知道是不是这个原因引起的。
      

  4.   

    下午在同事的机子上打印了下时间,发现他们那里是对的,我们都用得是vista系统,后来我打印了一下系统属性,如下
    Properties props=System.getProperties();
    Iterator iter=props.keySet().iterator();
    while(iter.hasNext())
    {
    String key=(String)iter.next();
    System.out.println(key+" = "+ props.get(key));
    }发现在结果中有
    ...
    os.name = Windows NT (unknown)
    ...
    user.timezone = GMT
    ...感觉是jvm没有很好识别操作系统,想到目前指定的jre是1.5(我是在eclipse中跑的),但是系统中最新的版本是1.6,所以就把eclipse中的jre版本设置为了1.6,随后打印系统属性,以上属性就变成了
    ...
    os.name = Windows Vista
    ...
    user.timezone = Asia/Shanghai
    ...此时,打印的时间就是本机的系统时间了楼主有空看看,不知道会不会有些帮助
      

  5.   

    我直接打出user.timezone   =  空
      

  6.   

    os.name显示了windows vista吗我刚有看了看,发现同事的jre是1.5.0_13, 试了一下,也是没有问题的,而我最初的是1.5.0_04,时间就有问题,所以试试换个jre版本看看
      

  7.   

    我打印出来的是:
    os.name=Windows NT (unknown)
      

  8.   

    http://download.csdn.net/source/2693901http://hi.baidu.com/enilu/blog/item/c988d438fba10af5b311c7db.html