2012-02-27 83 views
2

我想从分钟去为int(如92)到1:32的字符串。有没有一种奇特的方式来使用objc来做到这一点,或者我坚持要搞清楚老式的方式吗?IOS分钟时间

+0

不是玩世不恭,但一个好的开始将是阅读Xcode内置的文档。这是一个非常好的资源。 – Zak 2012-02-27 23:11:20

回答

15

我不认为有一个功能可以做到这一点,但它足够简单,可以自己做。

int hour = minutes/60; 
int min = minutes % 60; 

NSString *timeString = [NSString stringWithFormat: %@"%d:%02d", hour, min]; 

'02'将填充结果,因此在分钟位置总是有两位数。查看NSDate Class Reference可能会很有用,因为如果您想对结果进行计算,它可以节省您的时间。

+0

虽然你可以使用NSDate(见netrace的答案),但这是一个更快的方法。 – lnafziger 2012-02-28 00:06:48

+0

这种方式缺乏本地化支持,因此它非常基础 – asdf 2013-11-05 10:13:28

3

我想你可以在这里找到答案:NSTimeInterval to NSDate

int你说的应该是NSTimeInterval(这只是double),将其转换为NSDate对象,然后使用NSDateFormatter与格式化:HH:mm

它也可以可能是更有用的“扩展”使用类别的NSDate对象

@interface NSDate (Minutes) 

和放在那里的方法转换分钟以HH:MM(也许可以更好地移动格式字符串作为方法参数)所以你永远不需要考虑它。