NSString到TimeInterval

我有一个NSString的格式00:00:00.00最初从[dateFormatter setDateFormat:@"HH:mm:ss.SS"];

我怎样才能把这个string,并将其转换为TimeInterval?

如果你绝对肯定这个格式不会改变,那么这里有一个快速的解决scheme,使用Cocoa中最有用的一个类 :

 - (NSTimeInterval)timeFromString:(NSString *)str { NSScanner *scn = [NSScanner scannerWithString:str]; int h, m, s, c; [scn scanInt:&h]; [scn scanString:@":" intoString:NULL]; [scn scanInt:&m]; [scn scanString:@":" intoString:NULL]; [scn scanInt:&s]; [scn scanString:@"." intoString:NULL]; [scn scanInt:&c]; return h * 3600 + m * 60 + s + c / 100.0; } 

我想到了。 比我想象的要简单得多:

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"HH:mm:ss.SS"]; [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]]; NSDate *currentDate = [dateFormatter dateFromString:finishTimeString]; NSTimeInterval interval = [currentDate timeIntervalSince1970];