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

标签 ios nsdate nsdateformatter nstimeinterval

我的问题是我想用某种方式来表示时间(没有日期),比如我的 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/

相关文章:

iphone - 我的代码是否使我的 iPhone 负担过重?

ios - Cocos2d-x在iOS上分享使用UIActivityViewController

swift - 如何在 swift 中找到两个 unix 时间之间的分钟差异?

ios - 转换后来自 NSDate 的日期为空

ios - 如何计算给定日期后剩余的天,时,分和秒?

XCode 7 中的 iOS 本地化

objective-c - 如何从给定的数字中获取星期几

ios - 解析网 + NSDate : Convert Parse Date Retrieved to local timezone

ios - 如何正确地将 Last-Modified header 从 HTTP 响应转换为 iOS 上的 NSDate

iphone - 仪器,目标运行失败 : Remote exception encountered : 'Failed to get task for pid'