2016-05-02 11 views
1

Ich versuche, den Zeitunterschied zwischen 18:00 & 06:00 zu berechnen und das Ergebnis im selben Format anzuzeigen. Beide Zeiten werden manuell eingegeben.Berechnen der Zeitdifferenz mit einem Doppelpunkt

+0

können Sie uns den Code zeigen, den Sie ausprobiert haben? – Steve

+0

kann dies http://stackoverflow.com/questions/24316521/time-comparisons-in-swift – Steve

+0

Hallo Steve die Zeiten Kunst NSDate sie manuell eingegeben werden. –

Antwort

1

ersten beiden NSDates aus den Stringeingänge erstellen und das Intervall zwischen den beiden dann passieren das Intervall durch eine Formatierungsfunktion werden wir schaffen bekommen:

let date1:String = "12:00" 
let date2:String = "13:00" 

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "HH:mm" 
let date3 = dateFormatter.dateFromString(date1) 
let date4 = dateFormatter.dateFromString(date2) 

let interval = date4!.timeIntervalSinceDate(date3!) 
print("\(stringFromTimeInterval(interval))") 

jetzt müssen wir das Intervall zu formatieren, das ist die Anzahl der Sekunden zwischen den beiden schaffen so eine Funktion, die einen String zurückgibt:

func stringFromTimeInterval(interval: NSTimeInterval) -> String { 
    let interval = Int(interval) 
    let minutes = (interval/60) % 60 
    let hours = (interval/3600) 
    return String(format: "%02d:%02d", hours, minutes) 
} 

in Ihrem Fall haben Sie die date1 und date2 gesetzt aus ich die Textfelder in Ihrem Programm bin zu raten.

+0

Der obige Code funktioniert. –

+0

Wie speichere ich die Daten, d. H. Die Zeitdifferenz, sobald ich sie anzeige, verwende ich jetzt das NSDate-Format. –

+0

Wie möchten Sie es speichern? Bist du auf einem Mac oder iOS-Gerät? Ist dies die einzige Nummer, die Sie speichern? Dies ist eine große Diskussion gibt es viele Möglichkeiten. Wenn Sie nur eine einzelne Nummer speichern und auf einem iOS-Gerät sind, führen Sie eine Google-Suche nach NSUserDefaults durch. – Steve

Verwandte Themen