NSCalendar

// start by retrieving day, weekday, month and year components for today NSCalendar *gregorian = NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:[NSDate date; NSInteger theDay = [todayComponents day]; NSInteger theMonth = [todayComponents month]; NSInteger theYear = [todayComponents year];
 * http://stackoverflow.com/questions/1260014/group-by-weekdays-with-core-data

// now build a NSDate object for the input date using these components NSDateComponents *components = [[NSDateComponents alloc] init]; [components setDay:theDay]; [components setMonth:theMonth]; [components setYear:theYear]; NSDate *thisDate = [gregorian dateFromComponents:components]; [components release];

// now build a NSDate object for tomorrow NSDateComponents *offsetComponents = [[NSDateComponents alloc] init]; [offsetComponents setDay:1]; NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:thisDate options:0]; [offsetComponents release];

NSDateComponents *tomorrowComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:nextDate]; NSInteger tomorrowDay = [tomorrowComponents day]; NSInteger tomorrowMonth = [tomorrowComponents month]; NSInteger tomorrowYear = [tomorrowComponents year];

[gregorian release];

// now build the predicate needed to fetch the information NSPredicate *predicate = [NSPredicate predicateWithFormat: @"DateAttribute < %@ && DateAttribute > %@", nextDate, thisDate];