對于時間分為 本地掛鐘時間 和 UTC時間,所謂的UTC時間就是指表示自從標準基準時間(稱為“歷元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數,毫無疑問這個時間所有計算機都是一樣的。那么我們任務欄上的時間是怎么回事呢?那是OS會把計算機所在的當前時區加上,如:中國在東八區,就會在UTC 時間上加上 8(小時)*60*60*1000作為本地掛鐘時間(不考慮夏令時)。
public class TimeZoneConversion {
public static void main(String[] args) {
Calendar cal1 = Calendar.getInstance();
cal1.set(2001, 7, 1, 0, 0, 0);
System.out.println(cal1.getTime());
System.out.println(cal1.get(Calendar.MONTH));
System.out.println(cal1.get(Calendar.DATE));
System.out.println(cal1.get(Calendar.HOUR_OF_DAY));
System.out.println(cal1.getTimeZone().getID());
cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(cal1.getTime());
System.out.println(cal1.getTimeZone().getID());
System.out.println(cal1.get(Calendar.MONTH));
System.out.println(cal1.get(Calendar.DATE));
System.out.println(cal1.get(Calendar.HOUR_OF_DAY));
}
}