I needed the number of days between two dates including the beginning day.
e.g. days between 14-2-2012 and 16-2-2012 would produce a result of 3.
+ (NSInteger)daysBetween:(NSDate *)dt1 and:(NSDate *)dt2 {
NSUInteger unitFlags = NSDayCalendarUnit;
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:unitFlags fromDate:dt1 toDate:dt2 options:0];
NSInteger daysBetween = abs([components day]);
return daysBetween+1;
}
Note that it doesn't matter in which order you provide the dates. It will always return a positive number.