我的问题是我想用某种方式来表示时间(没有日期),比如我的 iOS 应用程序中的时间。从 REST api 我得到像“13:12:11”这样的字符串,它显示了事情发生的时间,我使用 NSDateFormatter
将 NSStrings 转换为 NSDates 但据我所知它不接受日期格式只有时间组件,如 HH:mm:ss
[编辑:你可以,见下文]
所以我的问题是
1- 我应该使用 NSTimeInterval(而不是 NSDate)来存储一天中的时间吗?
2- 如何将“03:04:05”转换为来自内置框架之一的 objective-c 对象。
编辑:您可以使用像“HH:mm:ss”这样的格式,它只是将日期部分替换为 2000-01-01 仍然有一个日期独立的时间表示会非常好。
最佳答案
好的,谢谢大家,这就是我最后做的:
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];
这不是一个优雅的解决方案,但它有效,至少对于我需要做的事情,
关于ios - NSDate 但没有 NSTime ,如何转换时间的字符串表示(没有日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12624025/