Ich muss zwei Mal in Swift vergleichen und mit NSComparisonResult konnte ich korrekte Ergebnis erhalten, bis es Zeit zwischen 22.00 Uhr - 23.59 Uhr kommt. Es zeigt das entgegengesetzte Ergebnis für diese Zeiten. Wer weiß, was ist das Problem? Im Folgenden finden Sie Beispielcode und Szenarien. 10:30:00 Uhr ist Beispiel Zeit zu testen, aber Sie können es jederzeit testen.NSComparisonResult funktioniert nicht wie erwartet für 10 PM und höher
// For test, Current time 10:30:00 PM
let currentTime = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .NoStyle, timeStyle: .LongStyle)
let closeTimeCompareResult: NSComparisonResult = currentTime.compare("10:00:00 PM EDT")
print("DinnerClose: \(closeTimeCompareResult.rawValue)")
// Expected result is -1 but, getting as 1
// It works perfect until 9:59:59 PM
let closeTimeCompareResult9: NSComparisonResult = currentTime.compare("9:00:00 PM EDT")
print("DinnerClose: \(closeTimeCompareResult9.rawValue)")
// As expected result is -1
Sie * Strings vergleichen * und nicht die Termine ... –