2012-02-27 5 views
2

Я хочу перейти от минут как int (например, 92) к строке 1:32. Есть ли причудливый способ сделать это, используя objc, или я застрял в том, чтобы выяснить, как это делается старомодным способом?ios минуты до времени

+0

Не быть циничным, но отличным началом было бы прочитать документацию, встроенную в Xcode. Это очень хороший ресурс. – Zak

ответ

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

+0

Этот способ не поддерживает локализацию, поэтому он действительно базовый – asdf

3

Я думаю, что вы можете найти ответ здесь: NSTimeInterval to NSDate

int вы говорите должны быть NSTimeInterval (то есть просто double), преобразовать его в NSDate объект, а затем отформатировать его с помощью NSDateFormatter с: HH:mm.

Это может также может быть более полезным, «расширить» с использованием категорий NSDate объекта

@interface NSDate (Minutes) 

и поставить там метод преобразования минут HH: мм (может быть, может быть лучше, чтобы переместить строку формата в качестве параметра метода) поэтому вам больше не нужно об этом думать.