Сначала получите свою конечную дату от даты начала
NSTimeInterval ninetyDays = 90*24*60;
NSDate endDate = [NSDate dateWithTimeInterval:ninetyDays sinceDate:originalDate];
, затем удалите часть времени (часов, минут, секунд) ваших объектов NSDate:
NSDate *currentDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:¤tDateInDaysPrecision
interval:NULL forDate:[NSDate date]];
NSDate *endDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:&endDateInDaysPrecision
interval:NULL forDate:endDate];
Теперь вы можетеиспользуйте это, чтобы вычислить разницу в днях:
// calculate the difference in days
NSDateComponents *difference = [calendar components:NSDayCalendarUnit
fromDate:currentDateInDaysPrecision
toDate:endDateInDaysPrecision
options:0];
NSInteger differenceInDays = [difference day];
И это должно быть сделано.
edit:
Я узнал это от еще один SO ответ