深入理解windows系統內的GMT和時區


http://www.itshanghai.net/technology/wdzl_windowsxp/

 
UTC(Universal Time Coordinated)是通用協調時,這兩者幾乎是一樣的,都是指的格林尼治標准時間,只是UTC的稱呼更為正式一點。
今天在做一些dc測試的時候,遇到時間問題,因為有一台xp英文版的計算機(時區默認為西八區),登域的時候出現故障,無法登入。登陸本機后,查看時區的時產生了有關時區和GMT的一些困惑,查資料,看地圖,最后把問題弄明白了。在這個過程中,對gmt和時區等有了一些新的理解,寫出來和大家分享。      這里不涉及dc相關知識,只討論GMT和時區。

      GMT,全稱Greenwich Mean Time,即格林威治標准時,為什么有這樣一個時間呢?原因這里不多說,網上很多,其實它的出現就是為規范全球的時間,各國都已一個固定時間為參照點來計算當地時間。為此1884年的美國華盛頓特區召開了國際經線大會,確定格林威治就是東西經零度的地方。人們將地球人為的分為24等份,每一等份為一個時區,每時區橫跨經度15度,時間正好為1小時,以格林威治所在地的時區為中時區,我們現在假設GMT時間為1月10日凌晨(即0點整),往西一個時區,則減去一小時,則當地時間是1月9日夜晚23點整,往東一個時區,則加上一小時,則當地時間是1月10日凌晨1點,依次類推,中國在東經120度上,可以這樣計算,(東經120°-東經0°)所得度數再除以15,即得8,所以中國在東八區上,那么,此時中國就是1月10日早上8點整。

        有一個計算公式,本地時間=UTC + 時區差。 可能有不少朋友會問,utc是什么? 和GMT有什么區別呢?UTC(Universal Time Coordinated)是通用協調時,這兩者幾乎是一樣的,都是指的格林尼治標准時間,只是UTC的稱呼更為正式一點。 對於真個公式,我們來做幾個例子就明白了。

       首先需要說明,時區差是有正負之分的,以中時區為准,往西為負,往東為正,什么意思呢?舉一個例子,中國的時區是東八區,即+08:00,完整寫法是GMT+08:00,美國東部時區是西五區,即-05:00,完整寫法是GMT-05:00,因為這個時間差需要參與運算,所以不能省去前面的符號。
       
      比如,現在是北京時間2009年2月5日13點40分,我想知道現在紐約(位於西五區)的時間,怎么算?我們來看公式: 本地時間=UTC + 時區差,根據公司首先需要得到當前的UTC時間是多少。UTC在中時區,即0,13:40=UTC+08:00,得出UTC為2009年2月5日05點40分,再利用此公式,由  紐約時間=05;40+(-05:00), 得出 紐約時間=0;40 因為得數為正,這就表示日期沒變,還是2月5日,這樣我們就可以計算出,此時美國的時間為 2009年2月5日凌晨0點40。

       這些是上午由一個域時間差的問題引申出來有關GMT和時區的理解,希望能幫到大家


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM