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