【问题标题】:how can i define NSTimeInterval to mm:ss format in iphone?如何在 iphone 中将 NSTimeInterval 定义为 mm:ss 格式?
【发布时间】:2010-04-01 08:12:28
【问题描述】:

如何将 NSTimeInterval 定义为 mm:ss 格式?

【问题讨论】:

标签: iphone objective-c


【解决方案1】:
NSTimeInterval interval = 326.4;
long min = (long)interval / 60;    // divide two longs, truncates
long sec = (long)interval % 60;    // remainder of long divide
NSString* str = [[NSString alloc] initWithFormat:@"%02d:%02d", min, sec];

%02d 格式说明符为您提供一个带前导零的 2 位数字。

注意:这仅适用于区间的正值。

【讨论】:

  • 只取区间的绝对值,然后进行数学运算,使其也适用于负值。 +1 为好的解决方案!
【解决方案2】:

this question

Brian Ramsay 接受的答案是:

给定 326.4 秒,伪代码:

minutes = floor(326.4/60)
seconds = round(326.4 - minutes * 60)

如果您使用%02d 打印,您将获得例如03:08 如果任一数字小于 10。

【讨论】:

  • 使用 "%2d" 你会得到 " 3: 8",你希望 %02d 得到前导零。
  • 感谢@progrmr 指出这一点;我已经有一段时间没有回头看这个答案来发现不平衡了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 2022-09-29
  • 1970-01-01
相关资源
最近更新 更多