経過時間を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

プロフィール

入江 慎吾/サービス開発だけで生きていく
15年続けた受託開発をやめ、自分が作ったサービスだけで生きていくことを決意。同じゴールを目指す仲間が集まる入江開発室を運営 / 師弟関係がつくれるサービス「MENTA」をつくりました。
(詳しいプロフィール)

PRODUCT

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

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす