我正在尝试为 iOS 争取正常运行时间。我正在使用 mach_absolute_time - 但我发现它在睡眠期间暂停。
我发现了这个片段:
- (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;
}
它成功了。但是,它会返回整秒。有什么办法可以得到毫秒?