HOME > ビジネスハック > NSDateで時間の差分を求めるには
2012/01/23 (2016/09/14更新) タグ:

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

  • このエントリーをはてなブックマークに追加

今回はNSDateで時間の差分を求める方法です。例えば、無料アプリでポイントがあって、数時間たったら、ポイントを増やしたい。こんな時に、前回のアプリ起動時間と今回の起動時間を比較して、何時間経ったか調べることが出来ます。

SPONSOR

まずは、アプリを起動した時の時間を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);

この記事をシェアする
  • このエントリーをはてなブックマークに追加

SPONSER

こちらの記事もおすすめです

お役にたちましたら、メール購読もどうぞ!

 

イリテクの最新記事をお届けします

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む
イリテクのプロフィール
入江 慎吾
System & Design Developer。イリテク株式会社 代表取締役。自社企画でクラウド見積請求書作成サービス「CLOUD PAPER」を開発・運営。仕様を決めずに少ない予算でも開発をスタートできる「開発までできるシステム顧問サービス」を実施中。(もっと詳しく
開発したWebサービス
開発したアプリ
新着記事
カテゴリ/タグ
SPONSER