How can I calculate the time elapsed in hours between two times (possibly occurring on different days) in iOS?
The NSDate function timeIntervalSinceDate: will give you the difference of two dates in seconds.
NSDate* date1 = someDate; NSDate* date2 = someOtherDate; NSTimeInterval distanceBetweenDates = [date1 timeIntervalSinceDate:date2]; double secondsInAnHour = 3600; NSInteger hoursBetweenDates = distanceBetweenDates / secondsInAnHour;
See, the apple reference library http://developer.apple.com/library/mac/navigation/ or if you are using Xcode just select help/documentation from the menu.
See: how-to-convert-an-nstimeinterval-seconds-into-minutes
--edit: See D?r?D?vil's answer below for correctly handling daylight savings/leap seconds
2.1m questions
2.1m answers
60 comments
57.0k users