这个问题很简单 但是我用
       Calendar c=new GregorCalendar(TimeZone.GetTimezone("Shanghai"));
返回的还是0时区的那个时间!不知道是哪里错啦!

解决方案 »

  1.   

    呵呵  来看看我的文章《深度技术GhostXP SP2快速装机V6.5系统默认时区的问题导致程序输出结果出错?~
    》http://blog.csdn.net/tdy218/archive/2008/05/24/2476901.aspx你电脑默认时区错了@~@
    一个验证本机时间的例子:
    import java.util.*;
    import java.text.SimpleDateFormat;
    public class Timeformat{
    public static void main(String[] args){ Date date = new Date(); 
    Calendar rightNow = Calendar.getInstance();SimpleDateFormat bar = new SimpleDateFormat("程序运行时是:yyyy年MM月dd日HH:mm:ss Z");         // Z代表时区,格式 -/+XX00  东八区应该是:+0800
    String sysDatetime = bar.format(rightNow.getTime()); 
    System.out.println(bar.format(date));  
    System.out.println(sysDatetime);  
           } 
    }
    看看输出结果。
    其实默认时区错误也有改正的办法。
    import java.util.*;
    import java.text.SimpleDateFormat;
    public class Timeformat{
    public static void main(String[] args){ 
    TimeZone.setDefault(TimeZone.getTimeZone("GMT+8:00"));
    Date date = new Date(); 
    Calendar rightNow = Calendar.getInstance();
    SimpleDateFormat bar = new SimpleDateFormat("程序运行时是:yyyy年MM月dd日HH:mm:ss Z");  
    String sysDatetime = bar.format(rightNow.getTime()); 
    System.out.println(bar.format(date));  
    System.out.println(sysDatetime);  
                   } 
    }
      

  2.   

    最近刚写的类为的就是调用中国的时区import java.util.Date;
    import java.util.TimeZone;
    import java.text.DateFormat;public class localTime {
        
        public String getLocalTime(){
            
            DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
             TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区
             dateFormatterChina.setTimeZone(timeZoneChina);
            Date date = new Date();//获得系统时间.
            String time = dateFormatterChina.format(date);        
            return time;    }}
      

  3.   

    用东8区的时间也不行?
    你电脑的时区是否正确,你电脑的时间是否正确?
    如果取东8区的时间也不行,那只有看新闻联播的整点报时了。package haha;import java.util.*;
    import java.text.SimpleDateFormat;class TimeTest {
    public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance(); 
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
    System.out.println(dateFormat.format(calendar.getTime()));
    }
    }