NSDateComponents格式化为"mm:ss"



我试图将NSTimeInterval格式化为mm:ss,我想保留所有前导零,例如"00:34"

我正在做以下事情:

NSTimeInterval interval = 34.56;
NSDateComponentsFormatter *formatter = [[NSDateComponentsFormatter alloc] init];
formatter.allowedUnits = NSCalendarUnitMinute | NSCalendarUnitSecond;
formatter.zeroFormattingBehavior = NSDateComponentsFormatterZeroFormattingBehaviorPad;
NSString *string = [formatter stringFromTimeInterval:interval];
NSLog(@"%@", string);

但是这是打印"0:34",我需要它是"00:34"

任何想法?

没有内置支持NSDateComponentsFormatter的每个组件的前导零。

但是你可以手动格式化:

NSTimeInterval interval = 34.56;
unsigned int seconds = (unsigned int)interval;
NSString *string = [NSString stringWithFormat:@"%02u:%02u", (seconds / 60) % 60, seconds % 60];
NSLog(@"%@", string);

最新更新