ich zweimal sowohl in String-Format haben:Vergleich AM und PM (NSDate)
timeOne = "12:58 AM"
timeTwo = "1:05 PM"
ich wandeln sie in NSDate wie diese
func convertTime(tim: String) -> NSDate{
let strDate = tim
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm a"
//converts into NSDate so we can find the time remaining
return (dateFormatter.dateFromString(strDate))!
}
let tOne = convertTime(timeOne)
let tTwo = convertTime(timeTwo)
Umwandlung Ton und TTwo gibt mir
tOne = 2000-01-01 00:58:00 +0000
tTwo = 2000-01-01 12:05:00 +0000
Ich vergleiche die beiden Zeiten, aber ich will, dass es 7 Minuten zurückgibt, während ich bekommen '667' Der cod e vergleichen ist:
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.Minute, fromDate: tOne, toDate: tTwo, options: [])
print(components)
Diese
667
aus druckt aber es sind die gleiche AM oder PM, wenn die beiden mal funktioniert, was ich damit meine ist, dass sagen wir
tOne = "1:06 PM"
tTwo = "1:15 PM"
mit dem Vergleich Code es erfolgreich "9"
Was ist der Wert von 'tOne' und' tTwo' in Ihrem Beispiel? – Larme
Ich glaube, Sie irren sich in der Verwendung von morgens - 12:58 Uhr ist nur als 00:58, nicht 12:58, was wäre p.m. = * Postmeridian * - d.h. "nach Mittag". Daher sind es 11 Stunden 7 Minuten = 667 Minuten zwischen den Zeiten. – Grimxn
Ich habe es bearbeitet Überprüfen Sie den Wert –