00:00:00.00
元から取得した形式の NSString があります[dateFormatter setDateFormat:@"HH:mm:ss.SS"];
その文字列を取得して TimeInterval に変換するにはどうすればよいですか?
00:00:00.00
元から取得した形式の NSString があります[dateFormatter setDateFormat:@"HH:mm:ss.SS"];
その文字列を取得して TimeInterval に変換するにはどうすればよいですか?
この形式が決して変わらないという 100% の確信がある場合は、Cocoa で最も便利なクラスの 1 つを使用した簡単なソリューションを次に示します。
- (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];