我真的需要帮助.代码结果是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]);
Run Code Online (Sandbox Code Playgroud)
这该怎么做?
使用说明%02ld符记录,例如:
NSLog(@"%ld:%02ld:%02ld",[differenceComponents hour],[differenceComponents minute],[differenceComponents second]);
Run Code Online (Sandbox Code Playgroud)
输出:
2:00:00
Run Code Online (Sandbox Code Playgroud)
另外创建NSStrings如下:
NSString *theString = [NSString stringWithFormat:@"%ld:%02ld:%02ld",[differenceComponents hour],[differenceComponents minute],[differenceComponents second]];
NSLog(@"%@",theString);
Run Code Online (Sandbox Code Playgroud)