Skip to content →

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

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

まず、スタート時間を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です。

SHARE

PROFILE

入江 慎吾
イリテク株式会社代表取締役 / メンターマッチングサービスMENTAを運営(月間流通額700万突破)/ 累計20個以上のWEBサービスやアプリを開発 / CAMPFIREとコミュニティツールVoyageを共同開発中 / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

SPONSER

Published in 開発奮闘記