如何在离线的情况下获取真正地时间
项目中在操作数据时要记录当时服务器时间, 由于手机上的日期用户可能调过,因此不能用手机时间,但是系统又要求支持离线操作。
为解决此问题,每次用户登陆时如果是在线的就将服务器时间(假定变量名为serverTime)同步到本地,同时记录当时手机时间(变量名为lastSynTime),把serverTime和lastSynTime都保存起来, 后续每次要用时间的时候,就采用如下公式来计算:
当前真正的时间=serverTime + (手机当前时间-lastSynTime);
但是很奇怪,有很多用户反馈日期最后日期算出来不正确(为数不少,很难说每个用户都在同步时间之后又改过时间)
之前取本地时间是直接取毫秒数,后来改了一下用System.nanoTime()取纳秒数,这样就好本地时间无关了,无论怎么调手机时间都没问题,但是手机重启以后又不正确了。
看到网上说可以取运营商时间,不知道怎么做
有没有高手知道该怎么处理啊?