2010-10-01 11 views

Antwort

132

Die einfachste Methode, ich bin mir dessen bewusst ist:

if([firstDate timeIntervalSinceDate:secondDate] > 0) { 

Die anderen Antworten vergleichen :, wollte etwas Geschmack verleihen;) .

+3

clevere Idee :) +1 – lukya

+1

viel einfacher als Benutzer NSDate vergleichen: gut gemacht! –

+0

Ja, danke. +1 – fnc12

28

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.
11

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) { 
    ... 
} 
+0

Strings mit 'natürlicher Sprache' Constructing ist nun vollständig veraltet und dies wird nicht kompiliert. – Lewis42

17

Was ist mit ...

if ([datStartDate earlierDate: datEndDate] == datStartDate) { 
    // datStartDate is earlier 
} else { 
    // datEndDate is earlier 
} 
+0

Vielen Dank :) – Supertecnoboff

2

Swift 2-Version von akzeptierter Antwort:

if firstDate.timeIntervalSinceDate(secondDate) > 0 { 
    // firstDate is greater (further in the future) than secondDate 
} 
Verwandte Themen