当前位置:编程学习 > wap >>

如何在离线的情况下获取真正地时间

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

但是我遇到过坑爹的   显示的是网络时间   但是获取到的是你设置的时间

比如显示10点   但是你设置的其实是8点   你得到的还是8点  但是就是显示10点... --------------------编程问答-------------------- 记录当时服务器时间 这个是什么意思呢? 但是系统又要求支持离线操作 这个又是什么意思? --------------------编程问答-------------------- 这需求真TM恶心啊
我想电脑不联网,又想电脑能上网,这可能么? --------------------编程问答-------------------- 我把实际需求说一下吧,是一个专门管门店导购员的APP,但是有些店面是在地下室,信号差或是没信号,导购员需要考勤,这时候需要纪录他的时间,因此系统就要在有网络的时候同步一个时间到本地,后面根据本地时间差来推算,这样会有误差但是在可接受范围之内。
tanwei4199,能指点下怎么获取运营商时间吗? --------------------编程问答--------------------
引用 1 楼 tanwei4199 的回复:
运营商时间   我见过部分sim卡 会联网即获取

但是我遇到过坑爹的   显示的是网络时间   但是获取到的是你设置的时间

比如显示10点   但是你设置的其实是8点   你得到的还是8点  但是就是显示10点...


帮他@一下你 好多人都不知道回复要引用的 --------------------编程问答--------------------
引用 4 楼 comeon12c 的回复:
我把实际需求说一下吧,是一个专门管门店导购员的APP,但是有些店面是在地下室,信号差或是没信号,导购员需要考勤,这时候需要纪录他的时间,因此系统就要在有网络的时候同步一个时间到本地,后面根据本地时间差来推算,这样会有误差但是在可接受范围之内。
tanwei4199,能指点下怎么获取运营商时间吗?


和运营商合作  我们公司做手机的  有电信定制机   所以联网能直接获取时间   但是这个时间只是用来显示的   我用来调试不行 就像我上面说的  设置的时间不显示  但是可以获取到   显示的是网络时间

我刚上班,这个不知道具体怎么实现的,只是用过这个机器在调试
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,