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

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

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

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です。

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

PROFILE

プロフィール

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

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす