使用NSDateComponentsFormatter格式化为MM:SS

时间:2015-03-12 16:13:11

标签: ios macos cocoa-touch foundation nsdatecomponentsformatter

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

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,尽管文档说的是什么。

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

1 个答案:

答案 0 :(得分:3)

抱歉错误的初始答案,无法将前导零添加到小时:

  

当允许天,小时,分钟和秒时,使用位置样式将值显示为“0d 1:00:00”,使用缩写样式显示为“0d 1h 0m 0s”。

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