背景:

当使用NSDateComponentsFormatter格式化NSTimeInterval时,使用allowedUnits属性将结果字符串四舍五入到相关的时间单位通常很方便。

例如,我可能不希望将时间排到第二位,因此将allowedUnits设置为minutes会得到适当舍入的输出字符串:

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)
formattedDuration将为“61分钟”。

问题:

您将如何将allowedUnits设置为.Hour.Minute,以使格式化的持续时间改为“1小时1分钟”?

NSDateComponentFormatter Class Reference并未真正涵盖如何执行此操作。

最佳答案

正如Leo所建议的,您可以简单地在一个数组中提供allowedUnits,如下所示:

durationFormatter.allowedUnits = [.Hour, .Minute]

关于ios - 在Swift中为NSDateComponenstFormatter设置多个allowedUnit,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32622681/

10-13 00:48