NSDateComponentsFormatter Разделитель единиц
Я хочу преобразовать время в минутах в удобную для пользователя строку. Следующий код решает проблему, кроме одной вещи - я хочу, чтобы результат выглядел как 1 hr 30 min
Однако я получил 1 hr, 30 min
, Как указать разделитель единиц для NSDateComponentsFormatter? Конечно, я могу удалить все запятые вручную, но это не лучший способ для меня.
NSDateComponentsFormatter *formatter = [[NSDateComponentsFormatter alloc] init];
formatter.allowedUnits = NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute;
formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleShort;
NSLog(@"%@", [formatter stringFromTimeInterval:90*60]);
2 ответа
Если ваше приложение предназначено для OS X 10.12 (или, я полагаю, более поздней версии) или iOS 10.10 (или более поздней версии), то Apple добавила новый стиль модулей, который называется "NSDateComponentsFormatterUnitsStyleBrief".
formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleBrief
и он распечатает "1 час 30 минут"
Заменить эту строку кода formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleShort;
с
formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleAbbreviated;
Это работа по вашему требованию. Я проверяю в своем проекте xcode.