本程序能通過網(wǎng)絡授時服務器獲取當前時間,因為一般我們的手機只能提供到分鐘的時間顯示,并且由于手機硬件的固有問題導致經(jīng)常會出現(xiàn)手機系統(tǒng)時間不準確問題,(已知的某平臺的手機會在充電后時間變快4分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級的時間顯示,同時告訴使用者手機系統(tǒng)時間與當前標準時間的差值,但無權(quán)去修改使用者手機的系統(tǒng)時間,軟件使用中會消耗非常少的網(wǎng)絡流量。
網(wǎng)絡時間協(xié)議NTP(Network Time Protocol)的主要開發(fā)者是美國特拉華大學的MILLS David L教授設計實現(xiàn)的,由時間協(xié)議、ICMP時間戳消息及IP時間戳選項發(fā)展而來。NTP用于將計算機客戶或服務器的時間與另一服務器同步,使用層次式時間分布模型。在配置時,NTP可以利用冗余服務器和多條網(wǎng)絡路徑來獲得時間的高準確性和高可靠性。即使客戶機在長時間無法與某一時間服務器相聯(lián)系的情況下,仍可提供高準確度時間。
NTP授時精度與NTP服務器與用戶間的網(wǎng)絡狀況有關,主要取決于NTP包往返路由的延時對稱程度,往返路由的延時不對稱值不超過網(wǎng)絡延時。式(2)是在假設NTP請求和回復包在網(wǎng)上傳送延時相等,即d1=d2=d/2的情況下得出的,而d1、d2的取值范圍在(0...d)間,由式(3)可以得出授時誤差是±d/2。一般廣域網(wǎng)的網(wǎng)絡延時在10 ms~500ms之間;局域網(wǎng)的網(wǎng)絡延時在計時操作系統(tǒng)內(nèi)核處理延遲的情況下通常小于1ms。
任何晶振實際工作頻率都是不穩(wěn)定的,只是程度不同而已。即使溫度補償?shù)木д?,在常溫范圍?nèi)(攝氏10℃~35℃)也有大約5×10-7~2×10-6的誤差。晶振實際頻率是受外界多種因素(溫度、電壓、老化等)影響而改變的。因此,時鐘頻率偏差系數(shù)k并非恒定不變的。每隔一定時間,NTP客戶機要對時鐘頻率偏差系數(shù)k進行校正,才能保證計時精度。