2012-02-11 28 views
0

iOSアプリを構築していますが、ローカルバー/レストランに入るために予想される待ち時間を入力することができます。信頼性を高めるために、ユーザーがいつ情報を入力したかを追跡し、その時間をxmlファイルに記録し、そのファイルを他のユーザーが参照できるように(以前の更新で)テーブルビューに解析できるようにしたいと考えています。テーブルセルには、場所の名前、おおよその待ち時間、およびその待ち時間がいつ入力されたかが表示されます。最終更新日からの経過時間を確認するiOS

私が理解しようとしているのは、ユーザがセルを変更したときにNSDateをフォーマットする方法です(たとえば、午後10時30分のようにしたい)。時間があれば、現在の時間と与えられた時間の違いをどのように見つけることができますか?

おかげ

答えて

3

あり、本当にタイトルと一致どれもそこにいくつかの質問には、ですが、ここでは現在の時刻/日付を取得するには;-)

を行く:

NSDate *now = [NSDate date]; 

へこれを保存して、NSUserDefaultsに保存することをお勧めします:

[[NSUserDefaults standardUserDefaults] setObject:now forKey:@"startTime"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

あなたはこのような関数を使用して2つの日付の差を見つけることができます

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"HH:mm"]; 
NSString *time = [formatter stringFromDate:theDate]; // returns something like @"10:30" 

NSTimeInterval differenceInSeconds = [date1 timeIntervalSinceDate:date2]; 
後で

NSDate *theDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"startTime"]; 

を使用して次のようなNSDateFormatterを使用して読める人間何かに日付をフォーマットすることができます

時間間隔は有益な時間に変換するため、分単位で60分、分単位で60分、時間単位で60分に分けて人間が読むことができます時間:

NSTimeInterval differenceInSeconds = ... 

NSInteger totalSeconds = floor(differenceInSeconds); 
NSInteger seconds = totalSeconds % 60; 
NSInteger minutes = totalSeconds/60; 
NSString *waitTime = [NSString strinWithFormat:@"%i minutes, %i seconds", minutes, seconds]; 
+0

非常にありがとうございます。うん、私はちょうどそれを読んだタイトル/質問について申し訳ありません...すべての笑で本当に相関しない。約10時間スクリーンを見ていた。 – thebiglebowski11

関連する問題