Xcode 如何使用NSDateComponentFormatter使我的计时器显示正确的数字格式
我一直试图让我的秒表以以下格式显示时间 使用NSDateComponentFormatter,00h:00m:00s后缀是可选的 但我得到的是一个连续的0列。。。。如有任何建议,将不胜感激Xcode 如何使用NSDateComponentFormatter使我的计时器显示正确的数字格式,xcode,swift,Xcode,Swift,我一直试图让我的秒表以以下格式显示时间 使用NSDateComponentFormatter,00h:00m:00s后缀是可选的 但我得到的是一个连续的0列。。。。如有任何建议,将不胜感激 func timerResults(){ ++stopWatchCounter let formatter = NSDateComponentsFormatter() formatter.unitsStyle = .Abbreviated formatter.allowed
func timerResults(){
++stopWatchCounter
let formatter = NSDateComponentsFormatter()
formatter.unitsStyle = .Abbreviated
formatter.allowedUnits = .CalendarUnitSecond | .CalendarUnitMinute | .CalendarUnitHour
let counterComponents = NSDateComponents()
counterComponents.hour = 00
counterComponents.minute = 00
counterComponents.second = 00
if let stopwatch = formatter.stringFromDateComponents(counterComponents){
// stopWatch.text = "\(stopwatch)"
stopWatch.text = "\(stopWatchCounter)"
println(stopwatch)
}}
这不可能使用NSDATE组件格式。如果使用.Positional,则会得到类似于1:01:01的结果。如果您使用.Short,则为1小时1分钟1秒。您可以使用Stringformat:并创建自己的格式作为NStimeInterval扩展名,如下所示:
extension NSTimeInterval {
var time:String {
return String(format:"%02dh:%02dm:%02ds", Int((self/3600.0)%100),Int((self/60.0)%60), Int((self) % 60 ))
}
}
(359999.0).time // "99h:59m:59s"