想通过时区得到如美国,非洲的时间,程序如下。但显示出来的结果是一样的,不晓得怎么样才能得到?请各位大虾帮帮忙哈!先谢过了!
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);

解决方案 »

  1.   

    你不能用简单的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));
      

  2.   

    Date 类型会自动用当前默认的时区来显示时间的。如果要按照时区来打印时间,可以结合 Calendar 和 DateFormat 来完成。
      

  3.   

    我觉得肯定要使用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);这样弄试一下
      

  4.   

    to liukang520236你的代码里面不过是多了几个临时变量而已
      

  5.   

    好了,我试了一下,用DataFormat显示出来的是不同的时间,应该说扬风太阳雨的作法是对的哈