【C言語】現在時刻をミリ秒単位で取得する方法

この記事では、C言語で現在の時刻を取得する方法について説明します。

目次から探す

C言語で現在時刻を取得する方法

C言語では、現在の時刻を取得するためにいくつかの方法があります。

ここでは、主にgettimeofday関数clock_gettime関数を使用した方法について説明します。

gettimeofday関数を使った方法

gettimeofday関数は、現在の時刻を秒とマイクロ秒の単位で取得するために使用されます。

以下に、gettimeofday関数を使用して現在時刻を取得するサンプルコードを示します。

#include <stdio.h>
#include <sys/time.h>
int main() {
    struct timeval tv;
    gettimeofday(&tv, NULL);
    
    printf("現在時刻: %ld秒 %ldマイクロ秒\n", tv.tv_sec, tv.tv_usec);
    
    return 0;
}

上記のコードでは、struct timeval型変数tvを宣言し、gettimeofday関数を呼び出して現在時刻を取得しています。

tv_secメンバには秒単位の時刻が、tv_usecメンバにはマイクロ秒単位の時刻が格納されます。

最後に、取得した時刻を表示しています。

現在時刻: 1621234567秒 123456マイクロ秒

clock_gettime関数を使った方法

clock_gettime関数は、高精度な時刻を取得するために使用されます。

以下に、clock_gettime関数を使用して現在時刻を取得するサンプルコードを示します。

#include <stdio.h>
#include <time.h>
int main() {
    struct timespec ts;
    clock_gettime(CLOCK_REALTIME, &ts);
    
    printf("現在時刻: %ld秒 %ldナノ秒\n", ts.tv_sec, ts.tv_nsec);
    
    return 0;
}

上記のコードでは、struct timespec型変数tsを宣言し、clock_gettime関数を呼び出して現在時刻を取得しています。

CLOCK_REALTIMEを指定することで、システムの実時間を取得します。

tv_secメンバには秒単位の時刻が、tv_nsecメンバにはナノ秒単位の時刻が格納されます。

最後に、取得した時刻を表示しています。

現在時刻: 1621234567秒 123456789ナノ秒

以上が、C言語で現在時刻を取得する方法についての説明です。

gettimeofday関数clock_gettime関数を使用することで、秒単位やマイクロ秒単位、さらにはナノ秒単位までの高精度な時刻を取得することができます。

目次から探す