同一个程序,为什么我的机子上运行结果和别人不一样?
我的是: Thu Jun 21 02:47:39 ACT 2007
Acre 时间:2007-06-21 02:47:39别人的是: Thu Jun 21 15:51:20 CST 2007
中国标准时间:2007-06-21 15:51:20代码如下:
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;
import java.text.SimpleDateFormat;public class DateTest{ public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());
TimeZone tzCN = TimeZone.getDefault(); 
Locale locCN = Locale.CHINA;
Calendar calCN = Calendar.getInstance(tzCN);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setCalendar(calCN);
System.out.println(tzCN.getDisplayName(locCN) + ":" + sdf.format(cal.getTime()));
}
}

解决方案 »

  1.   

    程序运行不是在同一台机器上运行的吧,Calendar只会捕捉当前你的JVM中的系统时间,运行环境不一样,时间日期不一样,这很正常~~~
      

  2.   

    有可能你机器的系统时区被改了。双击右下角的时间,打开“日期和时间属性”找到“时区”选项卡,将时区改为 “(GMT+08:00) 北京……”,试试看行吗?