背景知識
GPS的兩種時間
GPS 系統中有兩種時間區分,一為UTC,另一為LT(地方時)兩者的區別為時區不同,UTC就是0時區的時間,地方時為本地時間
如北京為早上八點(東八區),UTC時間就為零點,時間比北京時晚八小時,以此計算即可.
UTC相當於本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整。
格林尼治時間GMT(Greenwich Mean Time)
GMT(Greenwich Mean Time)是格林尼治平時
由於地球軌道並非圓形,其運行速度又隨着地球與太陽的距離改變而出現變化,因此視太陽時欠缺均勻性。視太陽日的長度同時亦受到地球自轉軸相對軌道面的傾斜度所影響。為着要糾正上述的不均勻性,天文學家計算地球非圓形軌跡與極軸傾斜對視太陽時的效應。平太陽時就是指經修訂后的視太陽時。在格林尼治子午線上的平太陽時稱為世界時(UT0),又叫格林尼治平時(GMT)
簡單說吧,格林尼治標准時(GMT)是格林尼治天文台通過天文學觀測將每日太陽穿過本初子午線的瞬間定為正午時刻,並以此來制定時間,所以格林尼治標准時是“天文學時間”,隨着科技的進步,人們發現該時間不夠精確,因為地球自轉的速度是不均衡的,而且自轉速度也會越來越慢,所以不再使用。
世界協調時間(Universal Time Coordinated,UTC)
UTC由國際無線電咨詢委員會規定和推薦,並由國際時間局(BIH) 負責保持的以秒為基礎的時間標度.
而協調世界時(UTC)是基於原子物理學的特性,將在海平面上實現的”原子時秒”定義為國際標准時的時間單位,而原子時秒是這樣定義的:銫-133 原子基態的兩個超精細能級間在零磁場下躍遷輻射9192631770周所持續的時間 。所以,協調世界時屬於”原子物理時間”,它更加精確,基本不會產生誤差。與本初子 午線(經度 0°)上的平均太陽時等效,
原子時與以往的計時系統不同,它非常精確並且不以某地的平均太陽時為基准,但是遇有地球自轉速度不均勻,原子時與世界時之間的時差便日積月累,因此,UTC 會在一段時期后加上正或負的閏秒來補償。因此協調世界時與國際原子時(TAI) 之間會出現若干整數秒的差別。位於巴黎的國際地球自轉事務中央局(IERS) 負責決定何時加入閏秒。
問題原因
WINDOWS的時間和時區
Windows操作系統直接把CMOS時間認定為當前顯示時間,不根據時區轉換。這樣每調整一次系統時區,系統會根據調整的時區來計算當前時間,確定后,也就同時修改了CMOS內的時間(即每調整一次時區,設置保存后,CMOS時間也將被操作系統改變一次,注意不同操作系統調整時間后,也會同時改變CMOS時間,這一點是共通的)。
LINUX的時間和時區
Linux和蘋果操作系統以當前主板CMOS內時間做為格林威治標准時間,再根據系統設置的時區來最終確定當前系統時間(如時區設置為GMT+08:00北京時間時以及當前CMOS時間為03:00,那么系統會將兩個時間相加得出顯示在桌面的當前系統時間為11:00)
解決辦法
ubuntu下關閉utc
sudo gedit /etc/default/rcS
將utc=yes改為UTC=no
windows下打開utc
使用Win+R調出運行窗口,輸入regedit打開注冊表編輯器,或者直接到控制面板找到注冊表編輯器。
HEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Contorl/TimeZoneInformation/
添加類型為REG_DWORD的項,命名為RealTimeIsUniversal值為1,重啟
