与服务器时间同步问题
做一个数据统计功能,客户端需要上报信息中有“时间”字段,因为客户端的时间是不可靠的,所以需要与服务器的时间做同步,开始考虑是这样做的:
1、本地保存需要上报的信息,信息中时间字段是客户端的时间
2、在向服务器上报时候,同时上报客户端当前时间(clientTime)
3、服务器在读取到统计信息以及clientTime以后,根据服务器当前时间(serverTime)与clientTime之间做比较,得出两端时间的差值,然后再对统计信息做一下处理就行了。
以上逻辑在用户不修改设备时间的情况下是没问题的,如果修改时间就不行了,然后考虑在修改时间以后看能不能获取到修改时间前后的差值,发现修改时间以后,系统会发送一个广播,但是这个广播中只携带了修改后的时间,而没有修改前的时间,所以前后的差值就得不到了。
现在想法是只能自己维护一个“时钟程序”,每隔一分钟就记录一下当前的timestamp,也就是用记录的timestamp来作为时间改变前的时间,当然了,记录间隔越短时间,计算的改变前后的差值也就越精确。
各位还有没有更好的办法?求教……