DateComponentsFormatter下降零小时但不是零分钟

时间:2018-03-30 21:33:58

标签: ios swift localization internationalization nsdatecomponentsformatter

我正在尝试使用DateComponentsFormatter将数秒格式化为时间字符串HH:MM:SS。我总是希望显示分钟和秒数字段,但如果小时数为0,我不想显示小时数。我尝试设置

formatter.zeroFormattingBehavior = .dropLeading

但是,如果小时和分钟都是0,这会导致分钟被删除。

目前,我的解决方案如下:

if timeElapsed >= 3600 {
    formatter.allowedUnits = [.second, .minute, .hour]
} else {
    formatter.allowedUnits = [.second, .minute]
}
formatter.zeroFormattingBehavior = .pad

然而,我担心这个解决方案非常黑客,如果有一些国际化不考虑一小时是3600秒,将无法正常工作。有更好的解决方案吗?

0 个答案:

没有答案