1. 程式人生 > >UTC時間與北京時間的差多久

UTC時間與北京時間的差多久

經常混淆於此,特地研究了一下,記錄在此以備忘。 

整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊場合,為了統一起見,使用一個統一的時間,稱為通用協調時(UTC, Universal Time Coordinated)。UTC與格林尼治平均時(GMT, Greenwich Mean Time)一樣,都與英國倫敦的本地時相同。在本文中,UTC與GMT含義完全相同。 

北京時區是東八區,領先UTC八個小時,在電子郵件信頭的Date域記為+0800。如果在電子郵件的信頭中有這麼一行: 

Date: Fri, 08 Nov 2002 09:42:22 +0800 

說明信件的傳送地的地方時間是二○○二年十一月八號,星期五,早上九點四十二分(二十二秒),這個地方的本地時領先UTC八個小時(+0800, 就是東八區時間)。電子郵件信頭的Date域使用二十四小時的時鐘,而不使用AM和PM來標記上下午。 

以這個電子郵件的傳送時間為例,如果要把這個時間轉化為UTC,可以使用一下公式: 

UTC + 時區差 = 本地時間 

時區差東為正,西為負。在此,把東八區時區差記為 +0800, 

UTC + (+0800) = 本地(北京)時間 (1) 

那麼,UTC = 本地時間(
北京時間
))- 0800 (2) 0942 - 0800 = 0142 即UTC是當天凌晨一點四十二分二十二秒。如果結果是負數就意味著是UTC前一天,把這個負數加上2400就是UTC在前一天的時間。例如,本地(北京)時間是 0432 (凌晨四點三十二分),那麼,UTC就是 0432 - 0800 = -0368,負號意味著是前一天, -0368 + 2400 = 2032,既前一天的晚上八點三十二分。 紐約的時區是西五區,比UTC落後五個小時,記為 -0500: UTC + (-0500) = 紐約時間 (3) UTC = 紐約時間 + 0500 (4) 把(2)式 - (4)式相比較, UTC = 北京時間 - 0800 = 紐約時間 + 0500 (5) 即
北京時間
= 紐約時間 + 1300 (6) 即北京時間領先紐約時間十三個小時,由(6)式, 紐約時間 = 北京時間 - 1300 (7) 在四月下旬,紐約又換用夏令時,又稱為日光節約時,比標準紐約時間提前一個小時,實際成為西四區的標準時間,成為 -0400。 UTC + (-0400) = 紐約夏令時,套用以上公式, 北京時間 = 紐約夏令時 + 1200 紐約夏令時 = 北京時間 - 1200 在這些轉換中,最重要的公式就是 UTC + 時區差 = 本地時間 時區差東為正,西為負。例如,東八區(北京)是 +0800,西五區(紐約)是-0500,加州是西八區,是-0800,美國中部時區是西六區,-0600,美國山地時區是西七區,-0700,
太平洋時區
是西八區,-0800,在夏天使用夏時制,成為-0700。德國時區是東一區,+0100,夏天變為+0200。 多數電子郵件程式,例如Outlook Express,在顯示時間時,計算機程式把時間先轉換成為本地時間再顯示,例如,郵件的Date域為: Date: Fri, 08 Nov 2002 09:42:22 +0800