Vergleich ein NSDate [NSDate date]
Ich versuche mich zu zwingen Benutzer, wählen Sie ein Datum in der Zukunft mit einen Datum-picker. Ich habe offensichtlich verwendet das vergleichen: die Methode, jedoch, wenn ich den folgenden code, auch wenn es das gleiche Datum wie [NSDate date], erzählt er die Ausführung der if-Anweisung. Hier ist mein code:
if ([datePicker.date compare:[NSDate date]] == NSOrderedAscending) //If the picked date is earlier than today
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hmm, this date is earlier than today"
message:@"The date you've selected is earlier than today's date, please pick another"
delegate:nil
cancelButtonTitle:@"Okay, I'll pick another"
otherButtonTitles:nil];
//Show the alert
[alert show];
//Release the alert
[alert release];
}
Haben Sie versucht, mit
Was passiert, wenn Sie NSLog das Datum, nur um zu sehen, ob er den richtigen Wert.
laterDate:
(oder earlierDate:
) zu tun, der Vergleich?Was passiert, wenn Sie NSLog das Datum, nur um zu sehen, ob er den richtigen Wert.
InformationsquelleAutor skylerl | 2010-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, die Antwort auf dein problem, aber wie könnte man es zu umgehen.
Verwenden Sie einfach die minimumDate Eigenschaft des UIDatePicker, das ist sogar eine viel sauberere Ansatz.
InformationsquelleAutor Georg Schölly
Können Sie
gibt eine NSTimeInterval (nur ein typedef für ein Doppelzimmer, in Einheiten von Sekunden), die positiv für die Zukunft und negativ für die Vergangenheit.
Als der doc sagt, zu vergleichen, bietet subsecond-Vergleich, so können Sie diese zu zwingen, Ihr date zu einem vollen Tag später (anstatt nur irgendwann in der Zukunft).
InformationsquelleAutor Jesse Beder
Ein NSDate-Objekt enthält sowohl eine Datum UND eine Zeit, so gibt es VIELE Termine mit den selben Tag fallen können vor oder nach einem anderen Datum mit dem gleichen Tag.
Den
date
Klasse Methode gibt ein date-Objekt mit dem aktuellen Datum, Tag UND Zeit.InformationsquelleAutor gerry3