程序自定义时钟计算实际时间

项目需求是获取不受系统时间修改影响的实际时间。之前尝试通过线程计数器实现,但发现与实际时间有较大偏差。解决方案是使用SystemClock.elapsedRealtime()函数,它能获取手机启动至今的毫秒数,包括线程睡眠时间。登录时记录服务器timestamp和startTime,提交数据时获取endTime,通过公式realTime = timestamp + (endTime - startTime)计算当前实际时间。
摘要由CSDN通过智能技术生成

项目有这样一个需求:

需要知道某个动作发生的实际时间(注意是实际时间,不受修改系统时间的影响)。


ps:曾经使用线程去计算,定义一个计数器,让线程每隔1000ms+1。开始没问题,第二天发现计算出来的时间和实际时间相差很大,估计是因为线程在某些时候睡眠了(如果

有人知道确切答案麻烦告诉我一声,感谢。)


实现:

主要利用了SystemClock.elapsedRealtime()这个函数。

谷歌官方对这个函数的解析:


简单来说就是能获取到从手机启动到现在的时间戳,包括你线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值