Vergleicht man Termine in Cocoa
-
06-07-2019 - |
Frage
Hallo, ich möchte wissen, wie das aktuelle Datum zu bekommen? Ich mag mit einem Datum aktuelles Datum vergleichen, die ich von einer plist-Dateien mit folgendem Code m abgerufen werden.
NSDate *expDate = [licenseDictionary objectForKey:@"Expires"];
zum Vergleich i m mit dem folgenden Code
if([curDate compare:expDate] == NSOrderedAscending )
, aber es funktioniert nicht. kann mir jemand helfen.
Lösung
Im Interesse von jemandem beizubringen, wie man eher fischen als nur fütterte ihn:
Haben Sie einen Blick auf die von Datum und Uhrzeit Führer. . Die Programmführer in der Dokumentation sind die erste Adresse, wenn ein Thema zu verstehen versuchen. Sie bieten einen Überblick darüber, was getan werden kann, und nützlichen Beispielcode enthalten.
Diese Führungen haben auch Links zu der Dokumentation der spezifischen Klassen, die verwendet werden. In diesem Fall gibt es die NSDate Klassenreferenz die Abschnitte auf Erstellen von Terminen und Vergleich Daten .
Bearbeiten
Sie antworten Kommentar über diese nicht funktioniert, denke ich, könnte das Problem sein, dass Sie das Objekt erstellt haben, die Sie im Wörterbuch als NSDate gespeichert haben. Nochmal. Werfen Sie einen Blick auf die Daten Dokumentation. Es wird so etwas wie
NSDate *expiryDate = [NSDate dateWithNaturalLanguageString:@"31/01/10"];
Das ist aber nur ein Beispiel, es gibt auch andere Möglichkeiten, eine Datumszeichenfolge festlegen.
Andere Tipps
Um das aktuelle Datum zu erhalten, verwenden Sie einfach:
NSDate * today = [NSDate date];
auf ein anderes Datum Zum Vergleich:
if ([today compare:expirationDate] == NSOrderedAscending)
{
// today's date is before the expiration date
}