if (datStartDate > datEndDate) {
Dies scheint nicht zu funktionieren. Ich weiß, dass es eine usw. gibt, aber wie mache ich "ist größer als"?Überprüfen, ob ein NSDate größer ist als ein anderer
Es gibt beide NSDate
.
if (datStartDate > datEndDate) {
Dies scheint nicht zu funktionieren. Ich weiß, dass es eine usw. gibt, aber wie mache ich "ist größer als"?Überprüfen, ob ein NSDate größer ist als ein anderer
Es gibt beide NSDate
.
Die einfachste Methode, ich bin mir dessen bewusst ist:
if([firstDate timeIntervalSinceDate:secondDate] > 0) {
Die anderen Antworten vergleichen :, wollte etwas Geschmack verleihen;) .
Daten verwenden vergleichen -compare:
Methode:
Rückgabewert If:
- Der Empfänger und another sind genau gleich zueinander sind, NSOrderedSame
- Der Empfänger ist später in Zeit als anotherDate, NSOrderedDesc endend
- Der Empfänger ist zeitlich früher als another, NSOrderedAscending.
Wie Sie haben NSDates:
NSDate *datStartDate = [NSDate dateWithString:@"2010-10-01 03:00:00 +0900"];
NSDate *datEndDate = [NSDate dateWithString:@"2010-10-01 04:00:00 +0900"];
if (([datStartDate compare:datEndDate]) == NSOrderedDescending) {
...
}
Strings mit 'natürlicher Sprache' Constructing ist nun vollständig veraltet und dies wird nicht kompiliert. – Lewis42
Was ist mit ...
if ([datStartDate earlierDate: datEndDate] == datStartDate) {
// datStartDate is earlier
} else {
// datEndDate is earlier
}
Vielen Dank :) – Supertecnoboff
Swift 2-Version von akzeptierter Antwort:
if firstDate.timeIntervalSinceDate(secondDate) > 0 {
// firstDate is greater (further in the future) than secondDate
}
clevere Idee :) +1 – lukya
viel einfacher als Benutzer NSDate vergleichen: gut gemacht! –
Ja, danke. +1 – fnc12