关于ios:使用NSDateComponentsFormatter格式化为MM:SS

Format to MM:SS using NSDateComponentsFormatter

我正在尝试使用NSDateComponentsFormatter格式化为MM:SS

1
2
3
4
5
6
7
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文档中的相关文章:

1
2
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 a€?0d 1:00:00a€? using the positional style, and as a€?0d 1h 0m 0sa€? using the abbreviated style.

如果您只需要将NSTimeInterval格式化为类似HH:MM:SS的字符串,请检查此答案