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

2018/02/09更新 カテゴリー:ビジネスハック,開発奮闘記 タグ:
  • このエントリーをはてなブックマークに追加

今回は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);

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

PROFILE

プロフィール

入江 慎吾
自分が作ったサービスで生きていく。同じゴールを目指すサービス開発集団「入江開発室」を運営(現在約280名) / 個人間スキルシェアサービス「MENTA」は約1ヶ月で売上100万円を達成。1日で100社が利用した「JobTag」など多数開発
(詳しいプロフィール)

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす