今天工作时,发现一个以前能工作的程序出了点问题:用java取出的时间,比系统时间早了8小时...代码如下:Calendar c = Calendar.getInstance();
   DateFormat df =new SimpleDateFormat("HH:mm:ss");
   return df.format(c.getTime());后来发现,是java设置的默认时区变成了id="GMT",而北京的时区应该是GMT+8:00 狂汗...优化后代码如下:Calendar c = Calendar.getInstance();
   DateFormat df =new SimpleDateFormat("HH:mm:ss");
   df.setTimeZone(zone);TimeZone zone = new SimpleTimeZone(28800000,"Asia/Shanghai");   return df.format(c.getTime());难道是vista对jdk1.5的支持有问题?带着这个疑问,让同事的vista试了一下,果然都是 id="GMT" 。这无疑是jdk1.5 在vista下的bug不是jdk1.6是否有此问题。