Im zwei NSDate von · Tag, dies zu tun (sowohl auf Zeitzone GMT) zu vergleichen versuchen:Vergleichen Sie zwei NSDate von · Tag in Swift ist falsch Ergebnisse geben
var order = NSCalendar.currentCalendar().compareDate(event.startDate!, toDate: cell.date!,
toUnitGranularity: .Day)
if (order == .OrderedSame) {
print(String(event.startDate!) + " == " + String(cell.date!))
cell.events.append(event)
break
}
Bei der Verwendung von 2016.03.08 21.43 : 53 +0000 und 2016-03-09 00:00:00 +0000 es sagt, sie sind bestelltSame, aber sie sind nicht, die Tage sind anders. Diese Funktion gibt aus:
2016-03-08 21:43:53 +0000 == 2016-03-09 00:00:00 +0000
Kann mir bitte jemand helfen?
Das Ergebnis ist wahrscheinlich in Bezug auf die Zeitzone Ihres Kalenders korrekt. Drucken Sie also die Zeitzone Ihres Kalenders aus oder ordnen Sie einen Kalender zu und legen Sie die Zeitzone fest, in der das Ergebnis "korrekt" sein soll. – DarkDust
Sie denken, sie sind an verschiedenen Tagen. Aber NSDate gibt UTC aus und sie können sich an verschiedenen Daten in UTC befinden, aber in Ihrer Zeitzone sind sie am selben Datum. – gnasher729