0
有人能帮我从hr:min:sec形式的时间计算中解脱出来。但我确实需要系统时间。这对我做了这个代码如何计算hr:min:sec中的时间
我尽量让时间计算人力资源的形式:分:秒 ,但它不能在正确的方式工作&((1)后 的(它的工作直到有小时)在3600秒输出为1:1:00之后61秒输出为0:1:71(3)之后60秒输出为0:1:60,但在3601秒输出错误之后(3)
下面是代码:
在.m文件
-(IBAction)start
{
timer1 = [NSTimer scheduledTimerWithTimeInterval:(.01) target:self selector:@selector(timepassed) userInfo:nil repeats:YES];
}
-(void)timepassed
{
counter++;
if(sec==60)
sec=0;
else
sec=counter/100;
if(min==60)
min=0;
else
min=sec/60;
if(hr==24)
hr=0;
else
hr=min/60;
m1++;
NSString *l=[NSString stringWithFormat:@"%i:%i:%i",hr,min,sec];
[m setText:l];
}
NSTimers不够准确,无法完成您在这里要做的事情,我建议不要将它们用于此目的。 – 2010-07-02 13:29:12
我同意约书亚。相反,使用NSDate记录开始时间,然后调用timeIntervalSinceNow来查看已经过了多少时间。 – Brian 2010-07-02 13:35:25
我同意diff'ing时间戳更准确。但是,这种方法可以确保你得到一个不会错过心跳的连续计数器。这可能会或可能不会是一件好事。 – Eiko 2010-07-02 13:46:26