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

  • このエントリーをはてなブックマークに追加
2012/01/23 (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
IRITECはITエンジニアが「コンテンツで集客・広告収入を得る」「お客様の話をきいて価値を提案できる」 「自分で考えたアプリで収益を上げる」など、エンジニアが生き残っていくための情報をお届けしているビジネスハックメディアです。

無料メールマガジンを購読すると特典があります!

COMMENT

コメントをどうぞ

RELATION

関連する記事

RECOMMEND

おすすめの記事

TAG

タグから記事をさがす

PROFILE

イリテクのプロフィール

イリテクはWEBシステム・スマホアプリ開発を得意とする制作会社です!
入江 慎吾/イリテク株式会社 代表取締役
1982年生まれ。長崎県 五島列島出身。福岡のWeb制作会社で10年間、ディレクション、Webデザイン、システム開発に従事。 その後、趣味で始めたiPhoneアプリ開発をきっかけにフリーランスとして独立後、2014年にイリテク株式会社として法人化。(もっと詳しいプロフィール)

PRODUCT

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

SPONSOR