NSTimeInterval to HH:mm:ss?

后端 未结 12 1806
陌清茗
陌清茗 2020-12-04 08:53

If I have an NSTimeInterval that is set to say 200.0, is there a way to convert that into 00:03:20, I was thinking I could initialise an NSDate with it and then use NSDateFo

12条回答
  •  日久生厌
    2020-12-04 09:42

    straight from apple docs: in h file:

     @property(strong,nonatomic)NSDateComponentsFormatter *timerFormatter;
    

    in m file

    @synthesize timerFormatter;
    
    - (void)viewDidLoad {
    [super viewDidLoad];
    NSDateComponentsFormatter *timerFormatter = [[NSDateComponentsFormatter alloc] init];
    timerFormatter.unitsStyle = NSDateComponentsFormatterUnitsStylePositional; 
    //10:59 Positional THIS ONE DOES NOT SEEM TO WORK iOS<9 WHEN <1Minute JUST SHOWS 01, 10m 59s Abbreviated, 10min 59sec Short, 10minutes 59seconds Full ...
    timerFormatter.allowedUnits = NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;
    }
    

    whereever you need to convert your NSTimeInterval timeInterval to hh:mm:ss string, do this:

    NSString *txt=[timerFormatter stringFromTimeInterval:timeInterval];
    

提交回复
热议问题