import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;public class DataTime { public static void main(String[] argv)
{
Date nowDate=new Date();
System.out.println("nowDate: " + nowDate);
System.out.println("GMT-8: " +
Calendar.getInstance(TimeZone.getTimeZone("GMT-8")).getTime());
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);   
fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));   
 String moditime=fm.format(nowDate);   
 System.out.println("formated: "+moditime); 
}
}
运行结果:
nowDate: Thu Dec 23 15:50:06 GMT 2010
GMT-8: Thu Dec 23 15:50:06 GMT 2010
formated: 2010-12-23 23:50:06控制台下一行显示:
<terminated>DataTime(1) [Java Aplication] D:\java\java\bin\javaw.exe(2010-12-23 下午03:50:06)
----------------------------------------------------------------------------------------------
百思不得其解,为什么我系统的时间是'GMT-8'的2010-12-23 23:50:06
而java虚拟机的时区是格林尼治标准时间
而且这个时间还不能进行时区转化(Calendar.getInstance(TimeZone.getTimeZone("GMT-8")).getTime());

希望有朋友可以帮忙解答下,诚谢!