Applet客户端程序如何获取本地时区?

无趣 2007-05-21 11:35:18
最近做一个国际化的项目,涉及到时区转换。服务端传过来格林威治时间戳(SOCKET通信),在不同时区的客户端,要求转换为各自本地时间显(还要考虑夏令时)。问题是:不知如何运行时获取本地时区,我试过TimeZone.getDefault(),得到的不是本地时区。

//假设now是服务器传过来的GMT时间
Date now=new Date();

//获得东8区的formatter
DateFormat gmt08Formatter = DateFormat.getDateTimeInstance();
//如能获取本地时区相对GMT的偏移量,替换下面08:00即可
TimeZone timezone = TimeZone.getTimeZone("GMT+08:00");
gmt08Formatter.setTimeZone(timezone);

//获得格式化后的东八区时间
String gmt08DateTime = gmt08Formatter.format(now);
System.out.println(gmt08DateTime);

请大侠指点,谢谢。
...全文
238 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
无趣 2007-05-21
  • 打赏
  • 举报
回复
Applet的安全限制会不会禁止访问本地时区信息啊?即使这样,我在JBuild中调试,应该不受限制吧。
无趣 2007-05-21
  • 打赏
  • 举报
回复
Date date = new Date();

o.println(date.toGMTString());
o.println( date.toLocaleString());

这两个输出是一样的,都是GMT时间,toLocaleString()不是所期望的本地时间?!

62,614

社区成员

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

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