我想将时间转换为用户友好的字符串。以下代码解决了问题,除了一件事 - 我希望结果看起来像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]);
答案 0 :(得分:2)
如果您的应用程序的目标是OS X 10.12(或更高版本,我推测)或iOS 10.10(或更高版本),那么Apple会添加一个名为“NSDateComponentsFormatterUnitsStyleBrief”的新单位样式
formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleBrief
它将打印出“1小时30分钟”
答案 1 :(得分:0)
替换此行代码formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleShort;
带
formatter.unitsStyle = NSDateComponentsFormatterUnitsStyleAbbreviated;
根据您的要求工作。我签入了我的xcode项目。