この記事では、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関数
を使用することで、秒単位やマイクロ秒単位、さらにはナノ秒単位までの高精度な時刻を取得することができます。