Namespaces
Variants

std:: difftime

From cppreference.net
< cpp ‎ | chrono ‎ | c
ヘッダーで定義 <ctime>
double difftime ( std:: time_t time_end, std:: time_t time_beg ) ;

二つのカレンダー時間の差を std::time_t オブジェクトとして計算します( time_end - time_beg )。もし time_end time_beg より前の時間点を指す場合、結果は負の値になります。

目次

パラメータ

time_beg, time_end - 比較対象の時間

戻り値

2つの時刻間の秒数での差。

注記

POSIXシステムでは、 std::time_t は秒単位で計測され、 difftime は算術減算と同等ですが、CおよびC++では time_t に小数単位が許可されています。

#include <ctime>
#include <iostream>
int main()
{
    std::time_t start = std::time(nullptr);
    volatile double d = 1.0;
    // 時間のかかる処理
    for (int p = 0; p < 10000; ++p)
        for (int q = 0; q < 100000; ++q)
            d = d + p * d * q + d;
    std::cout << "Wall time passed: "
              << std::difftime(std::time(nullptr), start) << " s.\n";
}

出力例:

Wall time passed: 9 s.

関連項目

(C++11)
時間間隔
(クラステンプレート)