DateComponentsFormatter - 仅显示描述为分钟的小时 - 错误?

时间:2017-01-05 17:16:43

标签: ios swift nsdatecomponentsformatter

我使用DateComponentsFormatter来实现这样的目标:" 1小时30分钟"。这是我的代码:

let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.hour, .minute]
return formatter.string(from: 90)!

这应该返回1小时30分钟,但我的输出是#34; 1分钟"。我的代码有问题还是iOS错误?

1 个答案:

答案 0 :(得分:3)

您使用的DataComponentsFormatter string(from: TimeInterval)方法需要以秒为单位的时间间隔。

因此,您要求格式化程序格式化90秒,而不是90分钟。

这将解决您的问题:

return formatter.string(from: 90 * 60)! // 90 minutes

如果对此类事情有任何疑问,请阅读文档。文档显示了以下参数说明:

  

时间间隔,以秒为单位。该值必须是有限数。创建字符串时,负数被视为正数。