如何从3.875小时分隔和存储小时和分钟

时间:2011-08-24 17:47:57

标签: iphone ios uitextfield uilabel

我正在尝试从距离和速度计算时间。 即155公里,以40公里/小时的速度行驶。这使得3.875小时。但我需要显示为HH:MM。

如何将3.875小时转换为HH和MM?

double kmNumber = [Input1.text doubleValue];   // 155
double kmHourNumber = [Input3.text doubleValue];   // 40

double hoursAndMinutes = number1 / number3;  // 3,875
[display setText:@"If you travel %f at %f you would use %f.", kmNumber, kmHourNumber, hoursAndMinutes];

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

int hours = (int)hoursAndMinutes;   // the integer part is the hours
int minutes = (hoursAndMinutes-hours)*60;   // the fractional part of an hour

NSLog(@"HH:MM = %02d:%02d", hours, minutes);

答案 1 :(得分:1)

使用NSDateComponents。使用以下内容获取日期的组成部分:

NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:inputDate];

然后只需使用components.hourcomponents.minute将相应的小时和分钟作为整数。这比其他答案更好,因为它会相应地响应外国日历,其中小时和分钟不一定遵循相同的规则。