Не уверен, почему это не относится к Cocoa-Touch, мне бы неплохо было бы сделать это стандартно.
Установите некоторые типы для хранения данных, это облегчит, если вам когда-нибудь понадобится локализовать их немного больше. (очевидно, расширить, если вам нужно больше периодов времени)
typedef struct DayHours {
int Days;
double Hours;
} DayHours;
+ (DayHours) getHourBasedTimeInterval:(double) hourBased withHoursPerDay:(double) hpd
{
int NumberOfDays = (int)(fabs(hourBased) / hpd);
float hoursegment = fabs(hourBased) - (NumberOfDays * hpd);
DayHours dh;
dh.Days = NumberOfDays;
dh.Hours = hoursegment;
return dh;
}
ПРИМЕЧАНИЕ. Я использую расчеты, основанные на часах, так как это то, к чему относятся мои данные. NSTimeInterval основан на секундах. Мне также пришлось конвертировать между ними.