NSDateで時間の差分を求めるには

今回はNSDateで時間の差分を求める方法です。例えば、無料アプリでポイントがあって、数時間たったら、ポイントを増やしたい。こんな時に、前回のアプリ起動時間と今回の起動時間を比較して、何時間経ったか調べることが出来ます。
まずは、アプリを起動した時の時間をNSUserDefaultsで記録しておきます。
//現在時刻を保存 NSDate* date = [NSDate date]; [[NSUserDefaults standardUserDefaults] setObject:date forKey:@"cdate"];
後は、再び起動したタイミングで時間を比較します。
NSDate *now = [NSDate date]; float tmp= [now timeIntervalSinceDate:[[NSUserDefaults standardUserDefaults] objectForKey:@"cdate"]]; //差分をfloatで取得 int hh = (int)(tmp / 3600); int mm = (int)((tmp-hh) / 60); float ss = tmp -(float)(hh*3600+mm*60); //3時間経っていれば if(hh>3){ //必要な処理を書き足してください } NSLog(@"%02d:%02d:%05.2f",hh,mm,ss);
SPONSOR
PROFILE
プロフィール

入江 慎吾
受託開発で年3,000万以上を売り上げるも、受託をやめることを決意 / 自分のサービスで生きていくために挑戦中🔥現在プロダクトの売上は月40万円 / 個人開発コミュニティ「入江開発室」を運営(約300名) / MENTAなど20個以上のプロダクトを開発。
(詳しいプロフィール)
受託開発で年3,000万以上を売り上げるも、受託をやめることを決意 / 自分のサービスで生きていくために挑戦中🔥現在プロダクトの売上は月40万円 / 個人開発コミュニティ「入江開発室」を運営(約300名) / MENTAなど20個以上のプロダクトを開発。
(詳しいプロフィール)
PRODUCT
イリテクで開発したプロダクト
SPONSOR