difftime
From cppreference.net
|
ヘッダーで定義
<time.h>
|
||
二つのカレンダー時間の差を
time_t
オブジェクトとして計算します(
time_end
-
time_beg
)。単位は秒です。
time_end
が
time_beg
より前の時間点を指す場合、結果は負の値になります。
目次 |
パラメータ
| time_beg, time_end | - | 比較対象の時間 |
戻り値
2つの時刻間の秒数の差。
注記
POSIXシステムでは、
time_t
は秒単位で計測され、
difftime
は算術減算と等価ですが、CおよびC++では
time_t
に小数単位が許可されています。
例
以下のプログラムは、月の開始時点から経過した秒数を計算します。
このコードを実行
#include <stdio.h> #include <time.h> int main(void) { time_t now = time(0); struct tm beg = *localtime(&now); // set beg to the beginning of the month beg.tm_hour = 0, beg.tm_min = 0, beg.tm_sec = 0, beg.tm_mday = 1; double seconds = difftime(now, mktime(&beg)); printf("%.f seconds have passed since the beginning of the month.\n", seconds); return 0; }
出力:
1937968 seconds have passed since the beginning of the month.
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.27.2.2 difftime関数 (p: 285)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.27.2.2 difftime関数 (p: 390)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.23.2.2 difftime関数 (p: 338)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 7.12.2.2 difftime関数 (p: 171)
関連項目
|
C++ ドキュメント
の
difftime
|