2013-02-10 3 views
1

Добрый день,Проверьте, если дата между двумя датами

Как вы можете проверить, существует ли дата между двумя датами? Я знаю, что я должен преобразовать строки данных в значения NSDate первых:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"MM/dd/yyyy"]; 

NSDate *date1 = [dateFormatter dateFromString:@"01/01/2001"]; 
NSDate *date2 = [dateFormatter dateFromString:@"01/01/2010"]; 

NSDate *userDate = [dateFormatter dateFromString:@"12/12/2001"]; 

И тогда я должен использовать оператор if-, но я не совсем уверен, как идти об этом. Вот что мне нужно:

если (userDate между date1 и date2) {

}

Любая помощь с IF-заявление будет оценено. Спасибо!

ответ

3

Использование NSDate-compare::

if (([date1 compare:userDate] == NSOrderedAscending) && ([date2 compare:userDate] == NSOrderedDescending)) { 
     // Do something 
} 
+0

+1. Чуть быстрее, чем у меня! :) – Metabble

1
if(([userDate compare: date1] == NSOrderedDescending) && ([userDate compare: date2] == NSOrderedAscending)){ 
//do something 
} 
2

верхней части моей головы, так что проверить синтаксис ;-)

if (([userDate laterDate: date1] == userDate) && ([userDate laterDate: date2] == date2)){ 
} 
+0

Спасибо, это было быстро! Я очень ценю это! –

+0

@GeorgeFriday Работали ли другие подходы? – Metabble

+0

Спасибо! Отлично. –