Проверка того, что один NSDate больше другого if (datStartDate > datEndDate) { Это не работает. Я знаю там isEqual и т.д., Но как я могу выполнить "больше, чем"? Есть как NSDate. Ответ 1 Самый простой способ, который я знаю: if( [firstDate timeIntervalSinceDate:secondDate] > 0 ) { Другие ответы охватывают сравнение:, хотелось добавить некоторый вкус;). Ответ 2 Для сравнения дат используйте метод -compare:: Возвращаемое значение Если: Получатель и другое имя точно равные друг другу, NSOrderedSame Получатель позже чем другое, NSOrderedDescending Приемник раньше времени, чем другое, NSOrderedAscending. Ответ 3 Как насчет... if ([datStartDate earlierDate: datEndDate] == datStartDate) { // datStartDate is earlier } else { // datEndDate is earlier } Ответ 4 Как вы 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 ) { ... } Ответ 5 версия принятого ответа Swift 2: if firstDate.timeIntervalSinceDate(secondDate) > 0 { // firstDate is greater (further in the future) than secondDate }
Ответ 1 Самый простой способ, который я знаю: if( [firstDate timeIntervalSinceDate:secondDate] > 0 ) { Другие ответы охватывают сравнение:, хотелось добавить некоторый вкус;).
Ответ 2 Для сравнения дат используйте метод -compare:: Возвращаемое значение Если: Получатель и другое имя точно равные друг другу, NSOrderedSame Получатель позже чем другое, NSOrderedDescending Приемник раньше времени, чем другое, NSOrderedAscending.
Ответ 3 Как насчет... if ([datStartDate earlierDate: datEndDate] == datStartDate) { // datStartDate is earlier } else { // datEndDate is earlier }
Ответ 4 Как вы 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 ) { ... }
Ответ 5 версия принятого ответа Swift 2: if firstDate.timeIntervalSinceDate(secondDate) > 0 { // firstDate is greater (further in the future) than secondDate }