使用NSDateComponentsFormatter格式化NSTimeInterval时,使用该allowedUnits属性将结果字符串舍入到相关的时间单位通常很方便.
例如,我可能没有兴趣花时间到第二个,所以设置allowedUnits为分钟得到一个适当舍入的输出字符串:
let duration: NSTimeInterval = 3665.0 // 1 hour, 1 minute and 5 seconds
let durationFormatter = NSDateComponentsFormatter()
durationFormatter.unitsStyle = .Full
durationFormatter.zeroFormattingBehavior = .DropAll
durationFormatter.allowedUnits = .Minute
let formattedDuration = durationFormatter.stringFromTimeInterval(duration)
Run Code Online (Sandbox Code Playgroud)
formattedDuration 将是"61分钟".
你会如何去设置allowedUnits,以.Hour和.Minute这样格式化的持续时间将是"1小时1分钟"呢?
该NSDateComponentFormatter类参考并没有真正涵盖如何做到这一点.