使用 NSDateComponentsFormatter 格式化为 MM:SS

Format to MM:SS using NSDateComponentsFormatter

我正在尝试使用 NSDateComponentsFormatter:

格式化为 MM:SS
let formatter = NSDateComponentsFormatter()

formatter.zeroFormattingBehavior = .Pad
formatter.allowedUnits = .CalendarUnitMinute | .CalendarUnitSecond

let time: NSTimeInterval = 5
let timeText = formatter.stringFromTimeInterval(time)

问题是,即使我指定了 .Pad,结果是 0:05 而不是 00:05

这是 Apple 文档中的相关内容:

static var Pad: NSDateComponentsFormatterZeroFormattingBehavior { get } 
// Off: "1:0:10", On: "01:00:10" 

我尝试添加 .CalendarUnitHour 只是为了尝试它并得到 H:MM:SS 而不是 HH:MM:SS 尽管文档说了什么。

如何填充文档中显示的第一个数字?

抱歉初始答案错误,无法在小时中添加前导零:

When days, hours, minutes, and seconds are allowed, the value is displayed as “0d 1:00:00” using the positional style, and as “0d 1h 0m 0s” using the abbreviated style.

如果您只需要将 NSTimeInterval 格式化为 HH:MM:SS 之类的字符串,请检查 this answer