gpt4 book ai didi

ios - 使用 NSNumberFormatter 将秒转换为小时、分钟、秒

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:54 26 4
gpt4 key购买 nike

我正在使用图表框架,因此我可以显示统计数据,它采用简单的数值,例如 1、5、17、99、1,574 等,并将它们绘制在图表上。

它提供了设置 NSNumberFormatter 以更优雅地显示这些值的选择。

我使用的数字是总秒数。例如。 660 秒、1080 秒。

如何使用 NSNumberFormatter 让我的数字显示为小时、分钟、秒,而不是纯粹的总秒数?

最佳答案

DateComponentsFormatter,可从 iOS 8 获得,效果很好,特别是如果您想要简单的本地化。这里有些例子。

let duration : TimeInterval = 11735    // seconds
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute, .second]

formatter.unitsStyle = .abbreviated
let text1 = formatter.string(from: duration) // "3h 15m 35s"

// choose a longer unit style:
formatter.unitsStyle = .short
let text2 = formatter.string(from: duration) // "3 hr, 15 min, 35 sec"

// easy localization:
formatter.calendar?.locale = Locale(identifier: "da_DK")
let text3 = formatter.string(from: duration) // "3 t., 15 min. og 35 sek."

// approximate to whole minutes:
formatter.calendar?.locale = Locale(identifier: "en_US")
formatter.includesApproximationPhrase = true
formatter.allowedUnits = [.hour, .minute]
let text4 = formatter.string(from: duration) // "About 3 hr, 15 min" - (not rounding up)

// approximation AND localization (Apple has a bug to fix):
formatter.calendar?.locale = Locale(identifier: "da_DK")
formatter.includesApproximationPhrase = true
formatter.allowedUnits = [.hour, .minute]
let text5 = formatter.string(from: duration) // "About 3 t. og 15 min." - Ugh!

关于ios - 使用 NSNumberFormatter 将秒转换为小时、分钟、秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34439465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com