1. 程式人生 > 其它 >.NetCore在Linux下做時區校正

.NetCore在Linux下做時區校正

客戶端由於使用的是ThinyLinux系統(安裝NTP時區不方便),預設是GMT(格林威治標準時間)
服務端時區是北京時間,客戶端拿到服務端時間後使用DateTime型別相關操作所導致時間變為GMT時間
此時我們需要做一個時區矯正的操作由GMT時間更正為GMT+0800時間
也就是說在客戶端時間+8小時就是北京時間

GMT(Greenwich Mean Time)是格林尼治平時:
由於地球軌道並非圓形,其執行速度又隨著地球與太陽的距離改變而出現變化,因此視太陽時欠缺均勻性。視太陽日的長度同時亦受到地球自轉軸相對軌道面的傾斜度所影響。為著要糾正上述的不均勻性,天文學家計算地球非圓形軌跡與極軸傾斜對視太陽時的效應。平太陽時就是指經修訂後的視太陽時。在格林尼治子午線上的平太陽時稱為世界時(UT0),又叫格林尼治平時(GMT)。 為了確保協調世界時與世界時(UT1)相差不會超過0.9秒,有需要時便會在協調世界時內加上正或負閏秒。因此協調世界時與國際原子時(TAI)之間會出現若干整數秒的差別。位於巴黎的國際地球自轉事務中央局(IERS)負責決定何時加入閏秒。

GMT時間+8小時所得結果就是北京時間。

GMT時間:格林尼治標準時間,是指位於英國倫敦郊區的皇家格林尼治天文臺的標準時間,因為本初子午線被定義在通過那裡的經線。

北京時間:是中國採用國際時區東八時區的區時作為標準時間。“北京時間”的發播不在北京,而在陝西蒲城。而東經120度的地方太陽時要比北京的地方時早約14分半鐘。