:: reverse dictionary ::
※ソースファイルについて
2つの経過時間の差を求めるには、difftime 関数を使います。
#include <stdlib.h> #include <time.h>
struct tm *date; time_t now; /* 経過時間 現在 */ time_t start; /* 経過時間 開始 */ time_t end; /* 経過時間 終了 */ double diff; /* 経過時間の差 */ time(&now); /* 現在までの経過時間を取得 */ /* 開始 1:30:45 (5445) */ date = localtime(&now); date->tm_hour = 1; date->tm_min = 30; date->tm_sec = 45; start = mktime(date); if (start == (time_t)-1) { printf("正しい値に直せませんでした。\n"); return EXIT_FAILURE; } /* 終了 2:00:00 (7200) */ date = localtime(&now); date->tm_hour = 2; date->tm_min = 0; date->tm_sec = 0; end = mktime(date); if (end == (time_t)-1) { printf("正しい値に直せませんでした。\n"); return EXIT_FAILURE; } diff = difftime(end, start);
diff は 1755 になります。
(7200−5445=1755)
double difftime(time_t te, time_t ts)
経過時間 te と ts の差を秒単位で返します。
te … 経過時間(終了)
ts … 経過時間(開始)
経過時間 te と ts の差(秒単位)
Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com