13

次の形式の2つの時間値があります:%H%M%S(EG161500)

これらの値はテキストベースの整数です。

60秒と分のスケールを使用してこれら2つの整数の差を計算する簡単な関数がCocoaにありますか?

だからもし

time 1 = 161500
time 2 = 171500

timedifference = 003000
4

4 に答える 4

10

日付を操作するクラスはNSDate. 時間間隔を取得する方法は-timeIntervalSinceDate:. 結果は、秒単位の間隔を表すNSTimeInterval値です。double

日付が2001-03-24 10:45:32 +0600 の形式になっている場合は、 withNSDateからオブジェクトを作成できます。NSString+dateWithString:

于 2009-03-17T14:12:52.790 に答える
4

このコードを試してください。

- (NSTimeInterval)intervalBetweenDate:(NSDate *)dt1 andDate:(NSDate *)dt2 {

NSTimeInterval interval = [dt2 timeIntervalSinceDate:dt1];
NSLog(@"%f",interval);
return interval;

}

于 2012-05-23T12:56:57.797 に答える
1

NSFormatter サブクラスを作成して、入力データからその形式の時間値を解析します (テキスト フィールドに配置して、ユーザー入力を自動的に変換したり、それを使用してコード内のデータ ソースから解析したりできます)。NSNumber でラップされた NSTimeInterval (double を表す秒) として合計秒数を返すようにします。そこから簡単に差を引き、作成した同じ NSFormatter クラスを使用して表示できます。値の解析と表示の両方で、秒から時:分:秒、または任意の形式に変換するコードを作成するのはあなたの責任です。アプリケーションにとって意味がある場合は、これらの値を mouviciel のように NSDate に変換することもできます。基準日からの時差を常に保存することに注意してください。

于 2009-03-17T15:02:30.893 に答える