在java中如何得到美国等地区的时间

caisoft16 2005-12-02 01:34:27
想通过时区得到如美国,非洲的时间,程序如下。但显示出来的结果是一样的,不晓得怎么样才能得到?请各位大虾帮帮忙哈!先谢过了!
TimeZone time1 = TimeZone.getTimeZone("Africa/Luanda");
Date today = Calendar.getInstance(time1).getTime();
System.out.println("Africa time is=" + today);
TimeZone time = TimeZone.getTimeZone("America/Monterrey");
Date today1 = Calendar.getInstance(time,Locale.US).getTime();
System.out.println("America time is=" + today1);
...全文
550 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
caisoft16 2005-12-02
  • 打赏
  • 举报
回复
好了,我试了一下,用DataFormat显示出来的是不同的时间,应该说扬风太阳雨的作法是对的哈
holy_phoenix 2005-12-02
  • 打赏
  • 举报
回复
to liukang520236

你的代码里面不过是多了几个临时变量而已
liukang520236 2005-12-02
  • 打赏
  • 举报
回复
我觉得肯定要使用Calendar 类型的变量阿。
TimeZone time1 = TimeZone.getTimeZone("Africa/Luanda");
Calendar today = Calendar.getInstance(time1).getTime();
System.out.println("Africa time is=" + today);
TimeZone time = TimeZone.getTimeZone("America/Monterrey");
Calendar today1 = Calendar.getInstance(time,Locale.US).getTime();
System.out.println("America time is=" + today1);

这样弄试一下
holy_phoenix 2005-12-02
  • 打赏
  • 举报
回复
Date 类型会自动用当前默认的时区来显示时间的。如果要按照时区来打印时间,可以结合 Calendar 和 DateFormat 来完成。
成富 2005-12-02
  • 打赏
  • 举报
回复
你不能用简单的Date.toString来获得结果,因为里面没有TimeZone的信息,所以默认就以中国的输出。
你可以用DateFormat来做:
TimeZone time1 = TimeZone.getTimeZone("America/Monterrey");
Date today1 = Calendar.getInstance(time,Locale.US).getTime();
DateFormat df1 = DateFormat.getDateTimeInstance();
df1.setTimeZone(time1);
System.out.println("America time is=" + df1.format(today1));
xpzheng 2005-12-02
  • 打赏
  • 举报
回复
汗。。。。。
没有碰到这样的问题,不过应该有这方面的文章介绍吧,

62,614

社区成员

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

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