如何在Xcode中循环

时间:2015-04-30 20:55:45

标签: objective-c time nscalendar

我正在努力解决这个难题 我有这个代码计算时间IN& OUT为十进制小时:
(6分钟= 0.1小时)〜(60分钟= 1.0小时)

 NSUInteger unitFlag = NSCalendarUnitHour | NSCalendarUnitMinute;

NSDateComponents *components = [calendar components:unitFlag
                                           fromDate:self.outT
                                             toDate:self.inT
                                            options:0];

NSInteger hours   = [components hour];
NSInteger minutes = [components minute];


if (minutes <0) (minutes -= 60*-1) && (hours -=1);

if (hours<0 && minutes<0)(hours +=24)&& (minutes -=60*-1);

if(hours<0 && minutes>0)(hours +=24)&& (minutes = minutes);

if(hours <0 && minutes == 00)(hours +=24)&&(minutes = minutes);

if(minutes >0)(minutes = (minutes/6));

self.blockDecimalLabel.text = [NSString stringWithFormat:@"%d.%d", (int)hours, (int)minutes];

绿线表示代码的作用,我要找的是像蓝线那样绕分钟,1,2分钟向下舍入到下一个小数小时,3,4,5分钟向下舍入到下一个十进制小时

enter image description here

我想要达到的目标是: 如果结果为11分钟,则代码返回0.1,然后仅在12分钟后返回0.2。我想要做的是,如果结果为8,则代码返回01,但如果为9,则将舍入到下一个小数,即0.2,依此类推。
目标是最多不要超过5分钟在最坏的情况下,每个倍数为6。这样做的最大损失平均为3分钟
任何输入都非常欢迎:)
干杯

0 个答案:

没有答案