目标c中的时间返回0

时间:2014-03-08 23:05:20

标签: objective-c time nsdate nstimeinterval

我正在研究一个柜台,这是我找到时间的代码。

NSDate *start = [NSDate date];
NSTimeInterval timeInterval = [start timeIntervalSinceDate:start];
NSLog(@"%f",timeInterval);

这是它一次又一次地返回。

2014-03-08 17:59:46.834 Time[67444:303] 0.000000

这是怎么回事?

1 个答案:

答案 0 :(得分:4)

您在对象上使用timeIntervalSinceNow表示与“now”非常接近的值。由于您使用float进行打印,因此该值向下舍入到较低的精度,您将得到0。

您确定不是timeIntervalSince1970吗?

NSTimeInterval被定义为double。如果您需要精度高于float,请尝试使用%ld打印为double。如果您需要更精确,请查看mach_absolute_time()