C言語の標準関数を目的別に調べることができる辞典

ホーム > C 標準関数逆引き辞典 > 日付・時刻 > 2つの経過時間の差を求める

C 標準関数逆引き辞典

:: reverse dictionary ::

日付・時刻

※ソースファイルについて


2つの経過時間の差を求める

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);

ソースファイル

diff1755 になります。
7200−5445=1755

▼ 関数

double difftime(time_t te, time_t ts)

経過時間 tets の差を秒単位で返します。

●引数

te … 経過時間(終了)
ts … 経過時間(開始)

●戻り値

経過時間 tets の差(秒単位)

注目キーワード ベスト5

  1. セキュリティ
  2. ホスティング
  3. レンタルサーバ
  4. ファイル復旧
  5. ハードディスク修復

日付・時刻 - date & time -


ホーム > C 標準関数逆引き辞典 > 日付・時刻 > 2つの経過時間の差を求める

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com