Работа с датами (NSDate Class) - это довольно болезненная вещь, и она доставила мне много хлопот и гнева.
в основном у вас разные подходы:
1.) Получить компоненты с вашей даты и сравнить их с вашими контрольными датами ..
это может выглядеть примерно так:
// учитывая, что у вас есть объект NSDate с именем dateOfSearch
unsigned int unitFlags = NSDayCalendarUnit|NSYearCalendarUnit;
NSDateComponents *comp;
NSCalendar *calendar = [NSCalendar currentCalendar];
comp = [calendar components:unitFlags fromDate:dateOfSearch];
NSInteger *year = [comp year];
// year no содержит год, который содержится в объекте dateOfSearch.
// обратите внимание: это базовый пример, показывающий, как извлечь год объекта NSDate
2.) Использовать NSDate timeReferenceSince1970
или другие «эквиваленты» для сравнения (проще)
Методы timeReference NSDate возвращают количество секунд между двумя referenceDates
так что хороший подход был бы
NSDate *today = [[NSDate alloc] init] //today
NSDate *pastDate = [self getPastDateFromWhereEver];
NSTimeInterval *difference = [pastDate timeIntervalSinceDate:today];
if (разница <.....) </p>
надеюсь, что поможет
ура