繁体   English   中英

我如何计算iOS中的时间?

[英]How do I count time in iOS?

在一段时间过后,我不想设置一个“触发”(并做某事)的计时器。

因此,我对NSTimer类及其方法不感兴趣。

所有我感兴趣的是计算经过的时间 ,例如,一些while循环正在执行。 我可以使用NSDate ,如下所示:

NSDate currentDate = [[NSDate alloc] init];

while(someConditionIsTrue)
{
    // executing..
}

timeElapsed = [self timeIntervalSinceDate:currentDate];

NSLog(@"time elapsed was: %i", timeElapsed);

但是,如果我理解正确, timeIntervalSinceDate:只能计算秒数。

有没有办法可以计算在几毫秒内经过的时间?

换句话说, 我可以计算的最小单位是什么?

看看CFAbsoluteTimeGetCurrent()

CFAbsoluteTime before = CFAbsoluteTimeGetCurrent();
CFAbsoluteTime after = CFAbsoluteTimeGetCurrent();

你的第二种方法是正确的。 将当前日期保存在NSDate对象中,并使用timeIntervalSinceDate:来获取自那时起的传递时间。 结果将是NSTimeInterval类型,它是一个浮点数。 它以秒为单位指定时间差,但由于它是一个浮点数,因此它也可以存储几分之一秒。

NSTimeInterval始终以秒为单位指定; 它在10,000年的范围内产生亚毫秒精度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM