關於時間的那點兒事兒 -- 時間戳,時區,冬令時,夏令時
UTC、GMT、PST,冬令時、夏令時 看起來是不是很懵,看完本文后相信關於時間你會有一個清醒的認知。
時間按照不同的角度可以划分為:
- 時間戳
- 時區
- 冬令時,夏令時
一、時間戳
時間戳:距離一個歷史上一個標准參照時間經過的秒數(毫秒數)。
有兩種常用時間參照點:
- 1970-01-01 00:00:00 應用最廣泛的時間戳參照點。
- 2001-01-01 00:00:00 常被蘋果系統使用。
注意:以上時間節點皆采用UTC的標准時區。
時間戳描述了距離某一時刻經過的時間跨度,是一個絕對值,和時區,冬(夏)令時這些沒有關系。所以在地球上的同一時間點,對於同一參照點,獲取到的時間戳都是完全一致的。
二、時區
1884年在華盛頓召開的國際經度會議(又稱國際子午線會議)上,規定將全球划分為24個時區(東、西各12個時區)。
如下圖所示:
全球同一時刻不同時區的本地時間不同例如中國時間:10:00 AM
對於美國西部時間:18:00 PM(冬令時)
17:00 PM(夏令時)。
1. GMT VS UTC
GMT 全稱 Greenwich Mean Time,中文為格林威治標准時間。
UTC 全稱 Universal Time Coordinated, 中文為協調世界時。
GMT和UTC都是代表0零時區的時間,兩者相等。UTC是1972年之后引入的概念,是GMT的后繼,現廣泛應用於科技領域。
2. PST
全球分為24個時區之后,從UTC/GMT 開始往西依次表示為UTC/GMT - 1,-2……,往東表示為UGC/GMT+1,+2……。
除了UTC/GMT之外,還有一個很常見的時區:PST。
PST 全稱 Pacific Standard Time,太平洋標准時間,等同於UTC/GMT -8,既西八區,被北美國家使用。
三、冬令時、夏令時
地球自轉方向從西向東,所以東邊更早看到新一天的太陽。各地區在時區概念的基礎上,時間更接近於太陽時(最簡單的理解就是太陽直射時,當地時間基本接近12點)。
晝夜長短會隨着四季變換,出於減少能源消耗的目的,提出了冬令時、夏令時的概念。
在天亮早的夏季人為將時間提前一小時,可以使人早起早睡,減少照明量,以充分利用光照資源,從而節約照明用電。
冬令時通常代表使用當地的標准時間,夏令時實施期間時鍾撥快一小時,相當於時區往前(東)進一個。
每年會對時間進行兩次調整,如下圖所示:
四、總結
- 時間戳代表了距離某一標准參考時刻經過的(毫)秒數。所以可以唯一標識時間軸上的一點。
- 時區是為了人們生活的便利性,用於標識本地時間。
- 冬令時,夏令時出於節省能源消耗的目的提出的概念,可能會讓每年的某一段時間內本地時間會前進一個小時。
在軟件開發中,傳遞時間的時候為了無歧義,應該全部采用時間戳。在需要展示給用戶的時候,需要考慮到用戶本地的時區及冬令時、夏令時的情況計算出正確的本地時間。