Мне нужно отобразить таймер в формате «чч: мм: сс» на iPhone, но я хочу его локализовать. Финляндия, например, использует точку вместо двоеточия между компонентами времени (чч.мм.сс). Яблоко' s NSDateFormatter сработал бы, если бы я имел дело с "временем", но мне нужно отображать часы, намного превышающие 24.
Я не смог заставить работать NSDate / NSDateFormatter, потому что когда вы создаете его с секундами ... .
NSDate *aDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTotalSeconds];
... каждые 86 400 секунд (на один день) NSDate автоматически увеличивает день, а часы, минуты и секунды возвращаются к нулю. Мне нужно заставить его работать любое количество секунд без переворачивания. Например, при 86 401 секунде я хочу отобразить 24:00:01 (или 24.00.01 в Финляндии).
Мой код отлично справляется с общим количеством секунд, поэтому единственная проблема, с которой я столкнулся, - это отображение. Простой ...
[NSString stringWithFormat:@"%d%@%d%@%d", hours, sepString, mins, sepString, secs]
... работал бы, если бы я мог найти способ получить локализованную "sepString" (разделитель компонентов времени). В NSLocale этого, похоже, нет.
Мысли?