由于iOS客戶端可以自動設(shè)置日期和時間,導(dǎo)致開發(fā)無法正確獲取到標(biāo)準(zhǔn)時間亥宿,而標(biāo)準(zhǔn)時間可以通過服務(wù)器得到,那么怎么能時時得到服務(wù)器的正確時間呢?
當(dāng)我們打開APP時請求后臺的時間校準(zhǔn)接口拇舀,在后端返回當(dāng)前的服務(wù)器時間
的同時,端上記錄當(dāng)前設(shè)備系統(tǒng)已運行的時長
蜻底;當(dāng)再需要使用服務(wù)器時間
時骄崩,只需重新獲取一次設(shè)備系統(tǒng)已運行的時長
減去上一次的設(shè)備系統(tǒng)已運行時長
加上服務(wù)器返回時間
即可。
獲取設(shè)備系統(tǒng)已運行的時長
的方法
[[NSProcessInfo processInfo] systemUptime]
具體請求服務(wù)器時間校準(zhǔn)接口的實現(xiàn)薄辅,按各自的接口實現(xiàn)要拂,后續(xù)僅需做簡單的加減法記錄,就不再做詳細記錄了站楚。
此方案的誤差間隔為:一個接口的響應(yīng)時長脱惰,謹慎使用。