我正在尝试从距离和速度计算时间。 即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];
任何帮助将不胜感激!
答案 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.hour
和components.minute
将相应的小时和分钟作为整数。这比其他答案更好,因为它会相应地响应外国日历,其中小时和分钟不一定遵循相同的规则。