【问题标题】:Convert NSTimeInterval to Days, Hours, Minutes, Seconds [closed]将 NSTimeInterval 转换为天、小时、分钟、秒 [关闭]
【发布时间】:2016-05-01 17:20:23
【问题描述】:

我有 2 个日期。

  1. 结束日期
  2. 当前日期 现在,我想查找 NSTimeInterval 并以天、小时、分钟、秒为单位计算剩余时间。 我不想使用 NSDateComponents。 我想要一些公式来计算以天、小时、分钟、秒为单位的剩余时间。

我尝试了以下公式,但该公式给出了剩余的小时、分钟、秒。

但是我如何计算这些天、小时、分钟、秒??

我正在使用下面的代码

@property (nonatomic, assign) NSTimeInterval secondsLeft;
_hours = (int)self.secondsLeft / 3600;
_minutes = ((int)self.secondsLeft % 3600) / 60;
_seconds = ((int)self.secondsLeft %3600) % 60;

【问题讨论】:

  • 有什么问题?
  • 这是一个Does Not Work 的问题。您没有充分描述您的问题。

标签: ios objective-c nstimeinterval


【解决方案1】:

您的某些计算不正确。你想要:

_hours = (int)self.secondsLeft / 3600;
_minutes = (int)self.secondsLeft / 60 % 60;
_seconds = (int)self.secondsLeft % 60;

这假定_hours_minutes_seconds 的类型为int(或其他适当的整数类型)。

如果您想将NSTimeInterval 格式化为适合用户区域设置的有用字符串,请使用NSDateComponentsFormatter

NSDateComponentsFormatter *formatter = [[NSDateComponentsFormatter alloc] init];
NSString *result = [formatter stringFromTimeInterval:self.secondsLeft];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2015-05-06
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2012-01-06
    • 2017-05-10
    相关资源
    最近更新 更多