java在vista下的时间问题

jiashengfan 2007-09-14 02:14:29
今天工作时,发现一个以前能工作的程序出了点问题:

用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是否有此问题。
...全文
122 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpj888 2008-08-05
  • 打赏
  • 举报
回复
1.5的BUG,传说1.6不会有问题
Jujus 2008-04-10
  • 打赏
  • 举报
回复
手动设置系统变量user.timezone就可以
java.exe ........ -Duser.timezone=GMT+8:00 ......

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧