iOS高级

关于时间戳的选取

2015-10-27  本文已影响55人  苏渝粤

项目中需要用到时间戳,综合了下有以下三种:

1,获取手机当前时间,该方法在用户更改手机当前时间后会导致连接失效

2 ,[NSProcessInfo processInfo] systemUptime]获取系统开机时间,不过该时间经过测试,不准确,运行较快

3,项目中采用第3种,用c语言写

先导入头文件#include <sys/sysctl.h>

//获取差距时间

+ (time_t)uptime

{

   struct timeval boottime;

   int mib[2] = {CTL_KERN, KERN_BOOTTIME};

   size_t size = sizeof(boottime);

   time_t now;

   time_t uptime = -1;

   (void)time(&now);

   if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1 && boottime.tv_sec != 0)

   {

       uptime = now - boottime.tv_sec;

   }

   return uptime;

}

上一篇 下一篇

猜你喜欢

热点阅读