【发布时间】:2016-03-04 12:44:21
【问题描述】:
我的倒计时有点问题,实际上一切正常,但时间的格式不正确,也就是说,它告诉我:
03:94:20:38
但在我看来,真正的倒计时是:
03:22:20:38
我的代码:
- (void)updateCounter:(NSTimer *)tmr
{
self.dateContest.hidden = NO;
NSTimeInterval iv = [self.date timeIntervalSinceNow];
int d = iv / 86400;
int h = iv / 3600; // My problem
int m = (iv - h * 3600) / 60;
int s = iv - h * 3600 - m * 60;
self.dateContest.text = [NSString stringWithFormat:@"%02d:%02d:%02d:%02d", d, h, m, s];
if (d + h + m + s <= 0) {
[tmr invalidate];
}
}
【问题讨论】:
-
为什么不使用 NSDateFormatter?
-
显然你有 3 天 22 小时等于 94 小时。 94 是您的代码计算的值。有什么理由不使用 NSInteger?而且您的到期测试非常可疑。要么说服我它是正确的,要么检查 iv
标签: ios objective-c date nsdate countdown