我真的需要帮助.代码结果为2:0:0,格式设置为hh:mm:ss.我希望结果是2:00:00(在分钟前加0,小时10分).
NSDateFormatter *test = [[NSDateFormatter alloc] init]; [test setDateFormat:@"HH:mm:ss"]; NSDate *date1 = [test dateFromString:@"18:00:00"]; NSDate *date2 = [test dateFromString:@"20:00:00"]; NSCalendar* gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; unsigned int uintFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; NSDateComponents* differenceComponents = [gregorian components:uintFlags fromDate:date1 toDate:date2 options:0]; NSLog(@"%d:%d:%d",[differenceComponents hour],[differenceComponents minute],[differenceComponents second]);
这该怎么做?
解决方法
使用?ld说明符记录,例如:
NSLog(@"%ld:%02ld:%02ld",[differenceComponents second]);
输出:
2:00:00
另外创建像这样的NSStrings:
NSString *theString = [NSString stringWithFormat:@"%ld:%02ld:%02ld",[differenceComponents second]]; NSLog(@"%@",theString);