C言語,difftime()関数で時間の差を計算する

スポンサーリンク

鍛錬 820

C言語,difftime()関数で時間の差を計算する

2つの指定したUNIX時間(1970/01/01 00:00:00 (UTC) からの秒数)について、時間の差を計算するには、difftime()関数を使用します。
 
以下は、difftime()関数についてです。

#include <time.h>

double difftime(time_t time1, time_t time0);
 

引数

以下は、上記の引数についてです。

引数 意味
time_t time1 time0 から time1 まで計算する際の、time1を指定する
time_t time0 time0 から time1 まで計算する際の、time0を指定する

戻り値

以下は、戻り値についてです。

戻り値
double time0 から time1 までの経過時間
スポンサーリンク

プログラム

以下は、時間の差を計算するプログラム、test_difftime.c です。

今回は、計測開始と終了の間にsleep()関数で 3 秒間スリープしています。

// include
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>

// main
int main(void)
{
	time_t time_start;
	time_t time_end;
	double diff_time;
	
	// 開始時刻を取得
	time_start = time(NULL);
	if (time_start == -1) {
		perror("time");
		exit(EXIT_FAILURE);
	}
	printf("計測開始時間 --> %ld\n", time_start);
	
	// 3秒スリープ
	sleep(3);
	
	// 終了時刻を取得
	time_end = time(NULL);
	if (time_end == -1) {
		perror("time");
		exit(EXIT_FAILURE);
	}
	printf("計測終了時間 --> %ld\n", time_end);
	
	// 時刻の差を計算
	diff_time = difftime(time_end, time_start);
	printf("時間の差 --> %f\n", diff_time);
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム test_difftime.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_difftime.c -o test_difftime
***@ubuntu:~/***/test/c$ ./test_difftime
計測開始時間 --> 1587216875
計測終了時間 --> 1587216878
時間の差 --> 3.000000

 
上記に示した通り、時間の差を計算することができました。

タイトルとURLをコピーしました