2013-01-15 117 views
0

我想使用NSDate和NSTimer检索按下开始按钮和停止按钮之间的经过时间,并以秒为单位显示时间。然后我想用这个时间来计算。我知道如何获得时间,但总是像这样的格式2013-01-15 14:01:55.369。 我如何减去一次来获得秒数。 我不知道如何使用NDDate和NSTimer。 这应该很容易,但我有点卡在这里。秒表和计时器

回答

1
//Make two properties `NSDate *startDate, *endDate` 

//in the action method of start Button 
startDate=[NSDate date]; 

//in the action method of stop Button 
stopDate=[NSDate date]; 
long elapsedSeconds=[stopDate timeIntervalSinceDate:startDate]; 
NSLog(@"Elaped seconds:%ld seconds",elapsedSeconds); 

请检查我project的秒表之类的话,这可能会得心应手,为您

检查这个代码,大部分的需求都在这里解决。

+0

这是下面给我的伎俩。谢谢。 self.startDate = [NSDate date];如果(!self.timer){self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(timerDisplay)userInfo:nil repeatats:YES]; –

+0

我真的很抱歉,因为这是一个完美的答案,帮了我很多。再次感谢。那么你可能会告诉我如何比较从一个时间点到下一个时间点的计时器值。一开始并停止,直到下一次开始和停止。所以它记得第一轮直到下一个比较。 –

+0

您可以检查我的秒表项目。那里种植了一个简单的逻辑。你需要类似这个'pauseTime = totalTime-timerRunnintime'。 –

0

从NSData的使用得到当前时间:

[[NSData data] timeIntervalSince1970]; 

,并从NSTime值只是它。减去。

0

在开始日期和停止日期之间使用timeIntervalSinceDate

1

您可以使用

- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)date 

让接收器和在几秒钟内给定日期之间的时间间隔。