Cocoa 如何获得;总分钟数“;(计时器)

Cocoa 如何获得;总分钟数“;(计时器),cocoa,timer,Cocoa,Timer,我想知道计时器的总分钟数。我已经让秒开始工作了。下面是我如何得到“总秒数”的: 这会给你墙上的时钟时间,而不是过去的时间(无论时间单位是多少) 要计算经过的时间,请在开始时以NSTimeInterval(秒数)的形式获取时间,然后在每次更新经过的时间显示(包括完成时)时再次获取时间。从后面的时间中减去前面的时间,结果将是经过的秒数 您可以通过重复的除法及其余数将其分解为天、小时、分钟和秒。对于后者,使用fmod或余数功能(%运算符不处理浮点值)。将总秒数除以60.0得到分钟数;剩余的是分钟后的秒

我想知道计时器的总分钟数。我已经让秒开始工作了。下面是我如何得到“总秒数”的:


这会给你墙上的时钟时间,而不是过去的时间(无论时间单位是多少)

要计算经过的时间,请在开始时以NSTimeInterval(秒数)的形式获取时间,然后在每次更新经过的时间显示(包括完成时)时再次获取时间。从后面的时间中减去前面的时间,结果将是经过的秒数


您可以通过重复的除法及其余数将其分解为天、小时、分钟和秒。对于后者,使用
fmod
余数
功能(
%
运算符不处理浮点值)。将总秒数除以60.0得到分钟数;剩余的是分钟后的秒数(例如,
613/60
=10分钟;
fmod(613,60)
=13秒)。对总分钟数执行相同操作,以获得小时数和分钟数。当然,在几天内,以24为除数计算小时。

这会给你墙上的时钟时间,而不是过去的时间单位

要计算经过的时间,请在开始时以NSTimeInterval(秒数)的形式获取时间,然后在每次更新经过的时间显示(包括完成时)时再次获取时间。从后面的时间中减去前面的时间,结果将是经过的秒数


您可以通过重复的除法及其余数将其分解为天、小时、分钟和秒。对于后者,使用
fmod
余数
功能(
%
运算符不处理浮点值)。将总秒数除以60.0得到分钟数;剩余的是分钟后的秒数(例如,
613/60
=10分钟;
fmod(613,60)
=13秒)。对总分钟数执行相同操作,以获得小时数和分钟数。当然,在几天内,以24作为除数,直到小时。

除非您使用GC,否则不要忘记释放或自动释放已分配的对象。除非您使用GC,否则不要忘记释放或自动释放已分配的对象。
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:time];

NSInteger hour = [comps hour];
NSInteger minute = [comps minute];

NSLog(@"Hour:%i", hour);
NSLog(@"minute:%i", minute);

NSInteger secs =hour * 60 * 60 + minute * 60;

NSNumber *elapsedSeconds = [[NSNumber alloc] initWithInt:secs];
NSDictionary *myDict = [NSDictionary dictionaryWithObject:elapsedSeconds forKey:@"TotalSeconds"];