我通過測試,發現短信時間不準的原因:
我用的是移動的手機號。 (手機設定的是:GMT+8,沒有打開自動更新時間,因為,移動的手機開和不開是一樣的,我們這里的移動系統沒有提供這個功能)如果是系統給我發的短信,在短信詳情里不帶+86的特服號,收到的短信時間準確,如果是其他手機發給我的短信,在短信詳情里看到的是+86XXXXXXXXXXX的手機號,時間就會快8個小時。
通過N次的測試(根據網友提供的經驗,改什么時區呀,什么什么的,都試完了),我覺得,S40第三版的這個BUG是這樣的:如果來短信的號碼前帶國家區號(比如中國的是+86),手機的系統就會自動按國家區號自動調整短信的發出時間(其實我們看到的不是短信收到的時間,是短信發出的時間,這個時間是系統隨著短信一起發送過來的。 道理很簡單,你關機時,別人給你發短信,當你開機時會收到他發的短信,你看短信時間,就會知道他是什么時候發給你的了。)
為什么有的朋友時間是準的,那是因為當地的移動或聯通在中轉短信時去掉了+86,還有就是收到的特服號(也就是不帶+86的號)發的短信時間是準的。所以,給很多朋友的錯覺是,別人的手機或者短信服務器有問題。其實,多想一想就知道了:這和任何人的手機沒有關系,因為,所以的短信都是通過移動或聯通的系統中轉的,服務器會按服務器的時間隨短信發出該短信的時間。這個時間一般都比較準確,誤差不超過幾分鐘!!!
由此,總結:問題就是S40第三版的軟件BUG,只有通過軟件的修改來彌補!!