Имейте в виду, что NSDate не представляет «день» в какой-либо форме, просто момент времени. Вам нужно будет немного поработать с NSDateComponents, преобразованными с использованием NSCalendar (обычно это календарь пользователя по умолчанию), чтобы выяснить начальные и конечные значения NSDate и сравнить их, чтобы сравнить ваш временной интервал с.
Я бы начал с NSDate, приходящегося на ваш день, и преобразовал его в NSDateComponents, но без часов, минут или секунд. Вот быстрый (непроверенный) пример, который поможет вам начать работу:
NSDateComponents *comps = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
NSDateComponents *day = [[[NSDateComponents alloc] init] autorelease];
[day setDay:1];
NSDate *start = [[NSCalendar currentCalendar] dateFromComponents:comps];
NSDate *end = [[NSCalendar currentCalendar] dateByAddingComponents:day toDate:start options:0];
Затем вы можете сравнить временной интервал, предложенный г-ном Джалкутом (или другой метод, NSDate может работать с NSTimeIntervals несколькими различными способами). Я бы определенно потратил некоторое время на просмотр NSCalendar и NSDateComponents в документах, хотя, вы можете найти лучший способ, чем тот, который я предлагаю, для того, что вам нужно сделать.