我一直试图让我的StopWatch以下列格式显示时间
00h:00m:00s(后缀是可选的)使用NSDateComponentFormatter()
但我得到的是一个连续的0列......任何建议都会非常感激。
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)
}}
答案 0 :(得分:0)
使用NSDateComponentsFormatter()是不可能的。如果你使用.Positional,你会得到类似这样的1:01:01。如果你使用.Short将是这样的“1小时,1分钟,1秒”。您可以使用String(format :)并将您自己的格式创建为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"