# std::difftime

From cppreference.com
< cpp‎ | chrono‎ | c

Defined in header `<ctime>` |  |
double difftime( std::time_t time_end, std::time_t time_beg ); |  |

Computes difference between two calendar times as std::time_t objects (time_end - time_beg) in seconds. If `time_end` refers to time point before `time_beg` then the result is negative.

### Parameters

time_beg, time_end | - | times to compare

### Return value

Difference between two times in seconds.

### Notes

On POSIX systems, std::time_t is measured in seconds, and `difftime` is equivalent to arithmetic subtraction, but C and C++ allow fractional units for `time_t`.

### Example

Run this code

    #include <iostream>
    #include <ctime>

    int main()
    {
        std::time_t start = std::time(nullptr);
        volatile double d = 1.0;

        // some time-consuming operation
        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";
    }

Possible output:

    Wall time passed: 9 s.

### See also

duration (C++11) | a time interval (class template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/c/difftime&oldid=123740"