【发布时间】:2016-02-05 03:15:04
【问题描述】:
我有一个 NSTimer,它从 2 小时到 0 倒计时。
这是我的一些代码:
var timer = NSTimer()
let timeInterval:NSTimeInterval = 0.5
let timerEnd:NSTimeInterval = 0.0
var timeCount:NSTimeInterval = 7200.0 // seconds or 2 hours
// TimeString Function
func timeString(time:NSTimeInterval) -> String {
let minutes = Int(time) / 60
let seconds = time - Double(minutes) * 60
let secondsFraction = seconds - Double(Int(seconds))
return String(format:"%02i:%02i.%01i",minutes,Int(seconds),Int(secondsFraction * 10.0))
}
定时器标签是:
TimerLabel.text = "Time: \(timeString(timeCount))"
但是,我的计时器标签显示为:
Time: 200:59.0
如何将我的计时器标签格式化为如下所示:
Time: 01:59:59 // (which is hours:minutes:seconds)?
[请注意,我的倒数计时器没有问题,我只需要知道如何使用 TimeString 函数更改时间格式。]
编辑: 有人提到我的问题可能与这个问题重复:Swift - iOS - Dates and times in different format。但是,我在问如何使用上面给出的 TimeString 函数更改时间格式。我不是要求另一种方式来做到这一点。
例如:
let minutes = Int(time) / 60
给我“200”分钟。等等
【问题讨论】:
-
你在哪里计算小时数?
-
@Abhijeet 这与这个问题的重复还相差甚远。此问题与
NSDate无关,此问题的解决方案与NSDateFormatter无关。