以下是该方案:
在使用C / Objective-C的iOS上,我需要调用哪些函数来获取当前时间才能计算出真正经过的时间?
答案 0 :(得分:3)
对于第1步,执行此操作:
NSDate *currentTime = [NSDate date];
或者,如果您不想要一个对象并想要一个double
值,您可以这样做:
NSTimeInterval currentTimestamp = [NSDate timeIntervalSinceReferenceDate];
然后,在步骤5中,您再次执行完全相同的事情:
NSTimeInterval timeInTheDatabase = ...
NSTimeInterval currentTimestamp = [NSDate timeIntervalSinceReferenceDate];
真正经过的时间是:
NSTimeInterval elapsedTime = currentTimestamp - timeInTheDatabase.
这将为您提供第一次和第二次之间的秒数。
为什么这样做?
它有效,因为NSDates
总是在GMT中。在通过NSDateFormatter
答案 1 :(得分:1)
最好直接使用timeIntervalSinceDate::
对于第1步,您将获得当前日期并存储它:
NSDate *storedDate = [NSDate date];
当你想要花费经过的时间时,你可以使用它:
float elapsedTime = [NSDate timeIntervalSinceDate:storedDate];
我认为这比获得自2001年1月1日第一个瞬间,GMT(timeIntervalSinceReferenceDate)以来的经过时间以及进行计算更好......