It's a pretty good rule of thumb that if you see 86400 in code, it's not the best way to calculate duration in days.  Where you'll run into problems is with people using other than a Gregorian calendar or when daylight saving and leap years/seconds come into play.

I'd suggest using NSDateComponents (this code is typed from memory and may not be compilable) -

```obj-c
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
 
NSDateComponents *components = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];

// then

NSInteger days = [components day];
NSInteger hours = [components hour];
//etc
```