Ich habe eine NSDate
, die ich mit anderen zwei vergleichen muss NSDate
und ich versuche es mit NSOrderAscending
und NSOrderDescending
aber ob mein Datum bei anderen zwei Daten gleich ist?
Beispiel: Wenn ich eine myDate = 24/05/2011
und zwei andere habe, die eins = 24/05/2011
und zwei sind, 24/05/2011
was kann ich verwenden?
objective-c
ios
nsdate
RadfahrenIsBetter
quelle
quelle
Antworten:
Laut Apple-Dokumentation von
NSDate compare:
Mit anderen Worten:
Beachten Sie, dass es in Ihrem speziellen Fall möglicherweise einfacher ist, Folgendes zu lesen und zu schreiben:
Siehe dazu die Apple-Dokumentation .
quelle
NSDateComponents
Nachdem ich viel im Stackoverflow und im Web gesucht habe, muss ich zu dem Schluss kommen, dass der beste Weg, dies zu tun, folgender ist:
Sie können es auch ändern, um zwischen Stunden zu unterscheiden.
Genießen!
Bearbeiten 1
Wenn Sie das Datum nur mit dem Format TT / MM / JJJJ vergleichen möchten, müssen Sie die folgenden Zeilen zwischen
NSDate* currentdate = [NSDate date];
&& einfügenNSTimeInterval distance
quelle
Ich nehme an, Sie fragen, was der Rückgabewert in der Vergleichsfunktion ist.
Wenn die Daten gleich sind, kehren Sie zurück
NSOrderedSame
Wenn aufsteigend (2. Argument> 1. Argument), kehren Sie zurück
NSOrderedAscending
Wenn absteigend (2. Argument <1. Argument), kehren Sie zurück
NSOrderedDescending
quelle
Ich weiß nicht genau, ob Sie dies gefragt haben, aber wenn Sie nur die Datumskomponente eines NSDate vergleichen möchten, müssen Sie NSCalendar und NSDateComponents verwenden, um die Zeitkomponente zu entfernen.
So etwas sollte als Kategorie für NSDate funktionieren:
quelle
NSDate
repräsentiert tatsächlich ein Zeitintervall in Sekunden seit einem Referenzdatum (1. Januar 2000 UTC, glaube ich). Intern wird eine Gleitkommazahl mit doppelter Genauigkeit verwendet, sodass es sehr unwahrscheinlich ist, dass zwei beliebige Daten gleich sind, selbst wenn sie am selben Tag liegen. Wenn Sie sehen möchten, ob ein bestimmtes Datum auf einen bestimmten Tag fällt, müssen Sie wahrscheinlich verwendenNSDateComponents
. z.Bquelle
Überprüfen Sie die folgende Funktion für den Datumsvergleich. Erstellen Sie zunächst zwei NSDate-Objekte und übergeben Sie sie an die Funktion: Fügen Sie die folgenden Codezeilen in viewDidload oder entsprechend Ihrem Szenario hinzu.
Hier ist die Funktion
Ändern Sie einfach das Datum und testen Sie die obige Funktion :)
quelle