有人可以帮助我从时间计算中以hr:min:sec的形式。但我确实需要系统时间。这是因为我制作了这段代码
我尝试以hr:min:sec的形式进行时间计算 但它不能以正确的方式工作(它工作到一个小时)& ((1)60秒输出后0:1:60(2)后61秒输出为0:1:71(3)之后3600秒输出为1:1:00但是(3)之后3601秒输出错误)
以下是代码:
在.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];
}
答案 0 :(得分:2)
-(void) timepassed
{
counter++;
if (counter == 60) { secs++; counter = 0; }
if (secs == 60) { min++; secs = 0; }
if (min == 60) { hr++; min = 0; }
// Your usual output here
}
请记住,这会将计数器变量设置为与您的代码不同,即它仅存储距离0 ... 99的1/100秒。
有很多算法可以将时间翻译成小时:分钟:秒,这只是其中一个与你的代码相似的算法。
附注:请接受对您有帮助的答案(也包括您的旧问题),这是此网站上的常见行为,让人们有动力为您提供帮助。