我通过测试,发现短信时间不准的原因:
我用的是移动的手机号。 (手机设定的是:GMT+8,没有打开自动更新时间,因为,移动的手机开和不开是一样的,我们这里的移动系统没有提供这个功能)如果是系统给我发的短信,在短信详情里不带+86的特服号,收到的短信时间准确,如果是其他手机发给我的短信,在短信详情里看到的是+86XXXXXXXXXXX的手机号,时间就会快8个小时。
通过N次的测试(根据网友提供的经验,改什么时区呀,什么什么的,都试完了),我觉得,S40第三版的这个BUG是这样的:如果来短信的号码前带国家区号(比如中国的是+86),手机的系统就会自动按国家区号自动调整短信的发出时间(其实我们看到的不是短信收到的时间,是短信发出的时间,这个时间是系统随着短信一起发送过来的。 道理很简单,你关机时,别人给你发短信,当你开机时会收到他发的短信,你看短信时间,就会知道他是什么时候发给你的了。)
为什么有的朋友时间是准的,那是因为当地的移动或联通在中转短信时去掉了+86,还有就是收到的特服号(也就是不带+86的号)发的短信时间是准的。所以,给很多朋友的错觉是,别人的手机或者短信服务器有问题。其实,多想一想就知道了:这和任何人的手机没有关系,因为,所以的短信都是通过移动或联通的系统中转的,服务器会按服务器的时间随短信发出该短信的时间。这个时间一般都比较准确,误差不超过几分钟!!!
由此,总结:问题就是S40第三版的软件BUG,只有通过软件的修改来弥补!!