時刻の差分

C言語による実装

時刻の差文を実際に求めるアルゴリズムを、C言語で実際に求めると、以下のようになります。

#include <stdio.h>

void main(){
	int h ,h1, h2, m ,m1, m2, s,s1, s2;
	int diff , time1, time2 , n;
	//	時間を入力
	printf("一つ目の時間を入力してください。¥n");
	printf("時:");
	scanf("%d", &h1);
	printf("分:");
	scanf("%d", &m1);
	printf("秒:");
	scanf("%d", &s1);
	printf("二つ目の時間を入力してください。¥n");
	printf("時:");
	scanf("%d", &h2);
	printf("分:");
	scanf("%d", &m2);
	printf("秒:");
	scanf("%d", &s2);
	//	それぞれの時間を、「秒」単位に変換
	time1 = h1 * 3600 + m1 * 60 + s1;
	time2 = h2 * 3600 + m2 * 60 + s2;
	if (time1 > time2){
		diff = time1 - time2;	//	秒単位での時間差を求める
	}
	else{
		diff = time2 - time1;	//	秒単位での時間差を求める
	}
	h = diff / 3600;	//	時間を求める。
	n = diff % 3600;	//	時間差を3600で割った余りを、nに代入。
	m = n / 60;
	s = n % 60;
	printf("二つの時間の時間差は、%d時間%d分%d秒です。¥n", h, m, s);
	
}

プログラムを実行すると、コンソールから、一つ目の時間の「時」「分」「秒」、二つ目の時間の「時」「分」「秒」の順で入力を求めてきます。なので、そこに、キーボードから適切な値を入力し、Enterキーを押してください。すると、二つの時間の時間差が出ます。

実行結果
一つ目の時間を入力してください。
時:3
分:2
秒:15
二つ目の時間を入力してください。
時:5
分:12
秒:34
二つの時間の時間差は、2時間10分19秒です。