ios - 倒计时错误(NSDate 和 Objective-C)

标签 ios objective-c date nsdate countdown

我的倒计时有点问题,事实上一切正常,但时间格式不正确,也就是说,它向我显示了这个:

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];
    }
}

最佳答案

你还必须减去当天的时间

int d = iv / 86400;
    int h = (iv / 3600) - (d * 24); 
int m = (iv - (h + d * 24) * 3600) / 60
int s = lroundf(iv) % 60

关于ios - 倒计时错误(NSDate 和 Objective-C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35796431/

相关文章:

ios - Cocos2d - 奇怪的 CCMenu 和 CCMenuItem 行为 - 不正确的 HitTest 层顺序

iOS 10 - WLAN 访问设置未出现在某些 iOS 设备中

php - 在 PHP 中格式化日期字符串

iOS:创建 UIImage 时出现 CGBitmapContextCreate 错误

ios - 将整数上传到 Firebase 数据库 IOS 的按钮

ios - 收到通知时播放声音在开发中有效但在生产中无效

iphone - 如何在 UITableView 单元格中设置背景图像?

iphone - 对象数量 (3) 不等于键数量 (8)

ruby - 更改 Date 对象的月份而不返回新日期

java - 是否可以覆盖 Orika 的内置转换器 - XMLGregorianCalendar 到 java.util.Date?