對(duì)于時(shí)間分為 本地掛鐘時(shí)間 和 UTC時(shí)間,所謂的UTC時(shí)間就是指表示自從標(biāo)準(zhǔn)基準(zhǔn)時(shí)間(稱為“歷元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來(lái)的指定毫秒數(shù),毫無(wú)疑問這個(gè)時(shí)間所有計(jì)算機(jī)都是一樣的。那么我們?nèi)蝿?wù)欄上的時(shí)間是怎么回事呢?那是OS會(huì)把計(jì)算機(jī)所在的當(dāng)前時(shí)區(qū)加上,如:中國(guó)在東八區(qū),就會(huì)在UTC 時(shí)間上加上 8(小時(shí))*60*60*1000作為本地掛鐘時(shí)間(不考慮夏令時(shí))。
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));
}
}