1

重複の可能性:
時間分秒から秒ios

私はそのようにフォーマットされた時間を持っています

// format: HH:mm:ss,AAA
// example for 2 hours, 35 minutes, 15 seconds, and 207 milliseconds
02:35:15,207

私はそれをdoubleとして秒に変換しようとしています。上記の例は次のようになります。

// 2 hrs * 3600 + 25 min * 60 + 15.207
9315.207

スキャナーで各要素を分解できると思いますが、おそらくもっと簡単な方法があると思います。使ってみましたが、これは.NSDateFormatterではなくdoubleとして必要NSDateです。助言がありますか?ありがとう。

さらに参考までに

これはで使用するためのものでMPMoviePlayerあり、currentTimeプロパティはdoubleです。表示するデータがある特定のセクションについて、。かどうかを確認していdataStartTime <= playerTime < dataEndTimeます。それがすでにdoubleのタイプなので、私は使用しています。currentTime

4

1 に答える 1

2

これが解決策です。アイデアは単純です。1つはあなたの時間で、もう1つは00:00:00,000の時間で、2つの日付を取得し、それらの時間の差を取ります。

- (double)secondsFromString:(NSString*)str {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss,SSS"];
    NSString *dateString = @"1970-01-01";
    NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%@ %@",dateString,str]];
    NSDate *refDate = [formatter dateFromString:[NSString stringWithFormat:@"%@ 00:00:00,000",dateString]];
    double time = [date timeIntervalSince1970] - [refDate timeIntervalSince1970];
    return time;
}
于 2013-01-18T16:00:00.617 に答える