关于时间戳的选取

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

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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容