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

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす