1. 程式人生 > >時區相關知識掃盲

時區相關知識掃盲

經常看到各種術語:格林尼治標準時間、時區、夏時制等等,本文簡要介紹一下相關知識。

格林尼治標準時間(GMT)

又稱為格林威治標準時間(Greenwich Mean Time,GMT),是指位於英國倫敦郊區的皇家格林尼治天文臺當地的標準時間,因為本初子午線被定義為通過那裡的經線。

理論上來說,格林尼治標準時間的正午是指當太陽橫穿格林尼治子午線時(也就是在格林尼治上空最高點時)的時間。但由於地球在它的橢圓軌道里的運動速度不均勻,這個時刻可能與實際的太陽時有誤差,最大誤差達16分鐘。原因在於地球每天的自轉是有些不規則的,而且正在緩慢減速,因此格林尼治時間基於天文觀測本身的缺陷,已經不再被作為標準時間使用。現在的標準時間,是由原子鐘報時的協調世界時(UTC)來決定。

協調世界時(UTC)

協調世界時(英語:Coordinated Universal Time,法語:Temps Universel Coordonné,簡稱UTC)是最主要的世界時間標準,其以原子時秒長為基礎,在時刻上儘量接近於格林尼治標準時間。

協調世界時是最接近格林威治標準時間(GMT)的幾個替代時間系統之一。對於大多數用途來說,UTC時間被認為能與GMT時間互換,但GMT時間已不再被科學界所確定。

時區

時區是地球上的區域使用同一個時間定義。以前,人們通過觀察太陽的位置(時角)決定時間,這就使得不同經度的地方的時間有所不同(地方時)。1863年,首次使用時區的概念。時區通過設立一個區域的標準時間部分地解決了這個問題。

世界各個國家位於地球不同位置上,因此不同國家,特別是東西跨度大的國家日出、日落時間必定有所偏差。這些偏差就是所謂的時差。

時區表示法

如果時間是以協調世界時(UTC)表示,則在時間後面直接加上一個“Z”(不加空格)。“Z”是協調世界時中0時區的標誌。因此,“09:30 UTC”就寫作“09:30Z”或是“0930Z”。“14:45:15 UTC”則為“14:45:15Z”或“144515Z”。

UTC時間也被叫做祖魯時間,因為在北約音標字母中用“Zulu”表示“Z”。

UTC偏移量

UTC偏移量是協調世界時(UTC)和特定地點的日期與時間差異,其單位為小時和分鐘。它通常以 ±[hh]:[mm]、±[hh][mm]、或 ±[hh]的格式顯示。所以,如果被描述的時間比UTC早一小時(例如柏林的冬季時間),UTC的偏移量將是”+01:00”、”+0100”、或簡單顯示為”+01”。

北京時間

北京時間,又名中國標準時間,是中國大陸的標準時間,比協調世界時快八小時(即UTC+8),與香港、澳門、臺北、吉隆坡、新加坡等地的標準時間相同。

下圖可以看出每個國家所處的時區,注意,一個國家可能會橫跨多個時區。

Standard_Time_Zones_of_the_World_-October_2015-.svg

比如法國為時區最多的國家,共計12個時區。

image.png

時區資訊資料庫

我們經常會看到這樣的時區表示:“Asia/Shanghai”,這些資訊就是儲存在時區資訊資料庫裡面的。

時區資訊資料庫,又稱TZ database、Zoneinfo database,是一個主要應用於電腦程式以及作業系統的,可協作編輯世界時區資訊的資料庫。由於該資料庫由David Olson創立,因而有些地方也將其稱作Olson資料庫。資料庫由Paul Eggert進行編輯和維護。

它的顯著特色是由上面提到的Paul Eggert設計的一套通用時區命名規則,例如”America/New_York”和”Europe/Paris”。

為了讓我們能夠更容易地理解,每個時區按照“區域/位置”格式,得到一個獨有的名稱,例如“America/New_York”。英文地名中的空格用下劃線“_”代替,連詞符“-”只在英文地名本身包含時使用。

夏時制

夏時制,另譯夏令時間(英語:Summer time),又稱日光節約時制、日光節約時間(英語:Daylight saving time),是一種為節約能源而人為規定地方時間的制度,在這一制度實行期間所採用的統一時間稱為“夏令時間”。一般在天亮較早的夏季人為將時間調快一小時,可以使人早起早睡,減少照明量,以充分利用光照資源,從而節約照明用電。各個採納夏時制的國家規定不同。

從資料來看,大部分的國家和地區都沒有實行夏時制。

參考資料