Ho un NSTimer che conta giù da 2 ore fino a 0.formato di etichetta timer ore: minuti: secondi in Swift
Ecco alcuni del mio codice:
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))
}
L'Etichetta timer è:
TimerLabel.text = "Time: \(timeString(timeCount))"
Tuttavia, la mia etichetta timer mostra come:
Time: 200:59.0
Come faccio a formattare la mia etichetta timer per assomigliare a questo:
Time: 01:59:59 // (which is hours:minutes:seconds)?
[Si prega di notare che non ho problemi con la mia conto alla rovescia, ho solo bisogno di sapere come modificare il formato dell'ora utilizzando la funzione di TimeString.]
MODIFICA: Qualcuno ha detto che la mia domanda è un possibile duplicato di questo: Swift - iOS - Dates and times in different format. TUTTAVIA, sto chiedendo come faccio a cambiare il formato dell'ora utilizzando la funzione TimeString che ho dato sopra. Non sto chiedendo un altro modo su come farlo.
Per esempio:
let minutes = Int(time)/60
mi da "200" minuti. ecc.
Possibile duplicato di [Swift - IOS - Date e orari in formato diverso] (http://stackoverflow.com/questions/28489227/swift-ios-dates-and-times-in -differente-formato) – Abhijeet
Dov'è il tuo calcolo delle ore? – rmaddy
@Abhijeet Che non è nemmeno lontanamente vicino ad essere un duplicato di questa domanda. Questa domanda non ha a che fare con un 'NSDate' e la soluzione di questa domanda non ha nulla a che fare con' NSDateFormatter'. – rmaddy