我想从分钟作为int
(例如92)转到1:32
的字符串。有没有一种奇特的方法可以使用objc
来实现这一点,或者我是否坚持用老式的方法来解决这个问题?
答案 0 :(得分:15)
我不相信有这样做的功能,但它很容易自己做。
int hour = minutes / 60;
int min = minutes % 60;
NSString *timeString = [NSString stringWithFormat: %@"%d:%02d", hour, min];
' 02'将填充结果,以便在分钟位置始终有两位数。查看NSDate Class Reference可能很有用,因为如果您想对结果进行计算,可能会节省您的时间。
答案 1 :(得分:3)
我认为你可以在这里找到答案:NSTimeInterval to NSDate
您所谈论的int
应该是NSTimeInterval
(只是double
),将其转换为NSDate
对象,然后使用{{1}格式化它} with:NSDateFormatter
。
使用类别NSDate对象
也可以更“有用”HH:mm
然后放一个方法将分钟转换为HH:mm(也许最好将格式字符串作为方法参数移动),这样你就不需要考虑它了。