時間関数

 今回はtime.hのヘッダファイルをincludeすると使える関数について説明します。時間の情報をプログラム中で取得できれば、タイマーのアプリが作れるなどの利点があります。time.hの命令の主なものを以下に列挙します。

  • time(NULL):(1970年1月1日 0時0分0秒から計測した)現在の経過時間の情報を返す
  • localtime(&time):timeに格納された時間の情報を現地時間(日本時間)に変換して返す
  • gmtime(&time):timeに格納された時間の情報をグリニッジ標準時間に変換して返す
  • ctime(&time):timeに格納された時間の情報を文字列にして返す
  • clock():プログラムが実行されてからclock()の命令が実行されるまでの経過時間(ミリ秒)を返す

 以下のサンプルプログラムを作成し、実行してみて下さい。

#include <stdio.h>
#include <time.h>		//time.hのインクルードを忘れずに

int main(int argc, const char * argv[])
{
    
    // insert code here...
    time_t nowDtm;
    clock_t launchSec;
    
    nowDtm = time(NULL);
    printf("現在時刻:%s\n", ctime(&nowDtm));
    
    printf("年:%d\n", localtime(&nowDtm)->tm_year + 1900);
    printf("月:%d\n", localtime(&nowDtm)->tm_mon + 1);
    printf("日:%d\n", localtime(&nowDtm)->tm_mday);
    printf("時:%d\n", localtime(&nowDtm)->tm_hour);
    printf("分:%d\n", localtime(&nowDtm)->tm_min);
    printf("秒:%d\n", localtime(&nowDtm)->tm_sec);
    
    launchSec = clock();
    printf("プログラム実行時間:%d\n", (int)launchSec);
        
    return 0;
}

 実行すると、以下のような結果が表示されます。

現在時刻:Tue Dec 18 13:02:18 2012

年:2012
月:12
日:18
時:13
分:2
秒:18
プログラム実行時間:4255

 「time_t型」「clock_t型」という変数の型が出てきましたが、これは構造体と呼ばれるものです。構造体については後の記事で解説しますので、今回は、このような感じで時間情報が取得できるのだと思っていただければ大丈夫です。

■スポンサーリンク

このページの先頭へ