日期:2014-05-20  浏览次数:20663 次

请问如何让JAVA输出另外一个时区的国家的当前时间?
请问如何让JAVA输出另外一个时区的国家的当前时间?
我这样写为什么得到的是本地时间?
TimeZone Japan=TimeZone.getTimeZone("Japan");//获取日本的时区
Calendar.getInstance(Japan).getTime().toString;//获取日本时区的日历,然后转化为字符串,这里的字符串为什么出现的是本地时间?我试过用其他国家,时间都一样?

------解决方案--------------------
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
这是美国的写法,我不知道Jpane后面是不是也要加上太平洋或者其他大洋才算正确,不过你可以改一下.
------解决方案--------------------
DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Calendar ca = Calendar.getInstance();
ca.setTimeZone(TimeZone.getTimeZone("GMT+9:00"));// 没有效果的
System.out.println("北京时间:" + sdf.format(ca.getTime()));
sdf.setTimeZone(TimeZone.getTimeZone("GMT+9:00"));// 有效果的
System.out.println("日本时间:" + sdf.format(ca.getTime()));
// ***********************************************************//
Date date = new Date();
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL,
DateFormat.FULL);
df.setTimeZone(TimeZone.getTimeZone("China/BeiJing"));
System.out.println("北京时间:" + df.format(date));
df.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
System.out.println("巴黎时间:" + df.format(date));