NSDate但没有NSTime,如何转换字符串表示的时间(没有日期)

Ali*_*Ali 4 nsdate nsdateformatter nstimeinterval ios

我的问题是我希望有一些方法来表示时间(没有日期),比如我的iOS应用程序中的时间.从REST api我得到像"13:12:11"这样的字符串,它显示了时间发生的事情,我已经习惯NSDateFormatter将NSStrings转换为NSDates但据我所知它不接受日期格式只有像HH:mm:ss[EDIT] 这样的时间组件:你可以,见下文]

所以我的问题是1-是NSTimeInterval(而不是NSDate)我应该用什么来存储时间?
2-如何将"03:04:05"转换为来自其中一个内置框架的objective-c对象.

编辑:您可以使用像"HH:mm:ss"这样的格式,它只是用2000-01-01替换日期部分仍然很高兴有一个独立于日期的时间表示.

Ali*_*Ali 6

好的,谢谢大家,这就是我最终做的事情:

NSString * timeAsString = "12:26:07";
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate * dateZero = [dateFormatter dateFromString:@"00:00:00"];
NSDate * dc = [dateFormatter dateFromString:timeAsString];
NSTimeInterval startTime = [dc timeIntervalSinceDate:dateZero];
Run Code Online (Sandbox Code Playgroud)

它不是一个优雅的解决方案,但它起作用,至少对我需要做的事情,