I could not understand your logic, but if you want to get the difference as NSDateComponents
in the way you want, you can use:
NSUInteger unitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *componentsDaysDiff = [calendar components:unitFlags
fromDate:now
toDate:dateFromString
options:0];
NSLog("%@", componentsDayDiff);
This yield results:
<NSDateComponents: 0x75939f0>
Leap month: no
Day: 1
Hour: 1
Minute: 0
Second: 0
So... What's wrong with it again?