0

このメソッドを使用して、2 つの日付間の時間間隔を取得できます。

- (NSString *)calculateTime:(NSDate *)fromDateTime andDate:(NSDate *)toDateTime {
    NSCalendar *calendar = [NSCalendar currentCalendar];

    unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

    NSDateComponents *conversionInfo = [calendar components:unitFlags fromDate:fromDateTime toDate:toDateTime options:0];

    int hours = [conversionInfo hour];
    int minutes = [conversionInfo minute];
    int seconds = [conversionInfo second];

    return [NSString stringWithFormat:@"%02dh %02dm %02ds", hours, minutes, seconds];
}

NSDate3つの範囲があると仮定します:

2013-02-03 11:20:43  -  2013-02-03 12:42:12 // 01h 21m 29s
2013-02-04 22:11:29  -  2013-02-05 01:56:30 // 03h 45m 01s
2013-02-05 14:02:10  -  2013-02-05 18:32:08 // 04h 29m 58s

すべての範囲%02dh %02dm %02dsの間隔で同じ形式を実現するにはどうすればよいですか? NSDateつまり、すべての間隔の合計を計算します。

任意の提案をいただければ幸いです。

4

1 に答える 1

1

あなたの目的は、期間を計算することです。期間は、タイムゾーンなどから独立しています。個々の期間を計算して追加できます。

これを行う最も簡単な方法は、すべての期間の合計を秒単位で計算し、それを時間、分、秒の読みやすい形式に変換することです。

于 2013-02-06T20:12:48.573 に答える