経過時間をTIME(HH:mm:ss)形式で表示する

2012/05/23 (2016/09/14更新) タグ:
  • このエントリーをはてなブックマークに追加

ゲームやユーティリティツールでは、経過時間を表示したい時があります。そんな時はこのコードでかんたんに実現することができます。

SPONSOR

まず、スタート時間をNSDate *startDateに記録して下さい。
そして、終了するタイミングで以下を実行します。

time_t startDate2 = (time_t) [startDate timeIntervalSince1970];
    int dt = (int)([[[NSDate alloc] init] timeIntervalSince1970] - startDate2);
    int s = dt % 60;
    int m = (dt - s) / 60 % 60;
    int h = (dt - s - m * 60) / 3600 % 3600;
    if(h>9){//10時間を越えた場合は9:59:59と表示する。
        h = 9;
        m = 59;
        s = 59;
    }
    timelabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d",h,m,s];

timelabelは経過時間を表示するUILabelです。

そうするとこんな感じで(HH:mm:ss)形式で表示できます。

ちなみに、毎分間隔で取得したい場合はNSTimerを使って呼び出せばOKです。

この記事もおすすめ
記事を書いている中の人
入江慎吾
WEBサービスやアプリのデザイン・開発をやっているクリエイターです。クラウド見積請求:CLOUD PAPER、リモートワーク求人:Rework、買い物メモアプリ:Rememo。情熱のこもったプロダクトをどんどんつくりたいです。(もっと詳しいプロフィール
この記事をシェアする
  • このエントリーをはてなブックマークに追加
メールマガジンで新着記事をフォロー

 

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む
イリテクで開発したプロダクト
SPONSOR
こちらの記事もおすすめです