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

comeon12c 2013-07-25 04:41:05
项目中在操作数据时要记录当时服务器时间, 由于手机上的日期用户可能调过,因此不能用手机时间,但是系统又要求支持离线操作。
为解决此问题,每次用户登陆时如果是在线的就将服务器时间(假定变量名为serverTime)同步到本地,同时记录当时手机时间(变量名为lastSynTime),把serverTime和lastSynTime都保存起来, 后续每次要用时间的时候,就采用如下公式来计算:
当前真正的时间=serverTime + (手机当前时间-lastSynTime);
但是很奇怪,有很多用户反馈日期最后日期算出来不正确(为数不少,很难说每个用户都在同步时间之后又改过时间)
之前取本地时间是直接取毫秒数,后来改了一下用System.nanoTime()取纳秒数,这样就好本地时间无关了,无论怎么调手机时间都没问题,但是手机重启以后又不正确了。
看到网上说可以取运营商时间,不知道怎么做
有没有高手知道该怎么处理啊?
...全文
496 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liweifeng2007 2013-12-25
  • 打赏
  • 举报
回复
我们现在也有这样的需求,用户自己设置的手机上的时间不一定是正确的,我现在就要拿到一个正确的时间,怎么办
荒颜 2013-07-28
  • 打赏
  • 举报
回复
引用 4 楼 comeon12c 的回复:
我把实际需求说一下吧,是一个专门管门店导购员的APP,但是有些店面是在地下室,信号差或是没信号,导购员需要考勤,这时候需要纪录他的时间,因此系统就要在有网络的时候同步一个时间到本地,后面根据本地时间差来推算,这样会有误差但是在可接受范围之内。 tanwei4199,能指点下怎么获取运营商时间吗?
和运营商合作 我们公司做手机的 有电信定制机 所以联网能直接获取时间 但是这个时间只是用来显示的 我用来调试不行 就像我上面说的 设置的时间不显示 但是可以获取到 显示的是网络时间 我刚上班,这个不知道具体怎么实现的,只是用过这个机器在调试
comeon12c 2013-07-26
  • 打赏
  • 举报
回复
我把实际需求说一下吧,是一个专门管门店导购员的APP,但是有些店面是在地下室,信号差或是没信号,导购员需要考勤,这时候需要纪录他的时间,因此系统就要在有网络的时候同步一个时间到本地,后面根据本地时间差来推算,这样会有误差但是在可接受范围之内。 tanwei4199,能指点下怎么获取运营商时间吗?
android_Y 2013-07-26
  • 打赏
  • 举报
回复
这需求真TM恶心啊 我想电脑不联网,又想电脑能上网,这可能么?
顾小林 2013-07-26
  • 打赏
  • 举报
回复
记录当时服务器时间 这个是什么意思呢? 但是系统又要求支持离线操作 这个又是什么意思?
顾小林 2013-07-26
  • 打赏
  • 举报
回复
引用 1 楼 tanwei4199 的回复:
运营商时间 我见过部分sim卡 会联网即获取 但是我遇到过坑爹的 显示的是网络时间 但是获取到的是你设置的时间 比如显示10点 但是你设置的其实是8点 你得到的还是8点 但是就是显示10点...
帮他@一下你 好多人都不知道回复要引用的
荒颜 2013-07-25
  • 打赏
  • 举报
回复
运营商时间 我见过部分sim卡 会联网即获取 但是我遇到过坑爹的 显示的是网络时间 但是获取到的是你设置的时间 比如显示10点 但是你设置的其实是8点 你得到的还是8点 但是就是显示10点...
项目一Spark离线处理本项目来源于企业级电商网站的大数据统计分析平台,该平台以 Spark 框架为核心,对电商网站的日志进行离线和实时分析。 该大数据分析平台对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行分析,根据平台统计出来的数据,辅助公司中的 PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。 本项目使用了 Spark 技术生态栈中最常用的三个技术框架,Spark Core、Spark SQL 和 Spark Streaming,进行离线计算和实时计算业务模块的开发。实现了包括用户访问 session 分析、页面单跳转化率统计、热门商品离线统计、广告流量实时统计 4 个业务模块。通过合理的将实际业务模块进行技术整合与改造,该项目几乎完全涵盖了 Spark Core、Spark SQL 和 Spark Streaming 这三个技术框架中大部分的功能点、知识点,学员对于 Spark 技术框架的理解将会在本项目中得到很大的提高。 项目二Spark实时处理项目简介对于实时性要求高的应用,如用户即时详单查询,业务量监控等,需要应用实时处理架构项目场景对于实时要求高的应用、有对数据进行实时展示和查询需求时项目技术分别使用canal和kafka搭建各自针对业务数据库和用户行为数据的实时数据采集系统,使用SparkStreaming搭建高吞吐的数据实时处理模块,选用ES作为最终的实时数据处理结果的存储位置,并从中获取数据进行展示,进一步降低响应时间。 

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧