当前位置:首页 > 手机资讯 > 正文

iOS内部时钟我手机「iOS内部时钟」

iOS内部时钟我手机「iOS内部时钟」

1.什么是内部时钟

     在我们做iOS开发的过程中,我们经常要与时间打交道,[NSDate date]是我们常用的取时间的一种方式,但是[NSDate date] 这种方式只能取系统的当前时间。也就是说:当前我们手机的时间是什么时间,取出来的值,就是多少。

    如果用户把系统的时间改了呢?那么[NSDate date]取出来的值,还是我们想要的吗???在一些应用的开发中,我们在没有网络的状态下,不能取网络时间,依靠系统时间,是可以篡改的。所以这个时候,我们要自己要在程序的内部定制一个自己的内部时钟。

 

2.实现内部时钟的思路

    1.要有一个时间作为基本的参照点(一般应用都会与服务器打交道,所以发请求给服务器,取服务器的时间是比较合适的)

    2.要有一个标记点(一般取待机时长)

    3.在每次进入程序的时候,或者登录的时候,取服务器的时间存起来,然后再取当前的待机时间存起来,每次要获取当前时间的时候,再取待机时长跟之前的存储的待机时长比较,获得差值。将存储的服务器时间加上差值,就获得想要的当前时间。

 

3.具体实现步骤

   0.用到的宏:

 

   1.获取待机时长

 2.存储服务器时间及待机时长

 3.获得当前的时间(以服务器时间为基准)

 4.深度探讨

  •    为什么获取待机时间不用SystemUptime这种方法?

答案 :SystemUptime这种获取待机时间的方式在我们设备深度睡眠的时候,获取的值会有误差,而上面我所用的方法不会。亲测!!!

  •    如果我要获取手机的开机时间,怎么办?

答案 :

 

 

有话要说...

最新文章