中国是东8区,所以你现在显示的事件是太平洋时间.估计是JVM获得系统设置的时候的Bug(JVM的或者Linux的).在DateFormat中强制设置时区为中国吧.

解决方案 »

  1.   

    DateFormat怎么设置啊,这个好象是转为字符串时用的,我要的是日期啊
      

  2.   

    TimeZone tz = TimeZone.getTimeZone("America");
    DateFormat df = DateFormat.getInstance();
    df.setTimeZone(tz);
    System.out.println((df.format(new Date())));
      

  3.   

    需要中国时钟 就 把america 改成china
      

  4.   

    slam_yang(我是来学习的) 你说的方法我知道,但这样得到的是当前日期的string啊,我要的是date,而且我得到date 后还要计算的(加1天),再转换成String的,我觉得java应该提供功能直接得到其它时区的日期的,真的没有吗?那样只能是先得到一个落后16个小时的日期,然后转为中国的日期的String,再转为中国date,再加1天,再得到String,转来转去的会影响速度啊