difftime
From cppreference.com
C
Concurrency support (C11)
Date and time utilities
Functions
Time manipulation
difftime
(C11)
(C23)
Format conversions
(deprecated in C23)(C11)
(deprecated in C23)(C11)
(C95)
(C23)(C11)
(C23)(C11)
Constants
Types
(C11)
Defined in header
<time.h>
Computes difference between two calendar times as time_t objects (time_end - time_beg) in seconds. If time_end
refers to time point before time_beg
then the result is negative.
[edit] Parameters
time_beg, time_end
-
times to compare
[edit] Return value
Difference between two times in seconds.
[edit] Notes
On POSIX systems, time_t is measured in seconds, and difftime
is equivalent to arithmetic subtraction, but C and C++ allow fractional units for time_t .
[edit] Example
The following program computes the number of seconds that have passed since the beginning of the month.
Run this code
#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; }
Output:
1937968 seconds have passed since the beginning of the month.
[edit] References
- C17 standard (ISO/IEC 9899:2018):
- 7.27.2.2 The difftime function (p: 285)
- C11 standard (ISO/IEC 9899:2011):
- 7.27.2.2 The difftime function (p: 390)
- C99 standard (ISO/IEC 9899:1999):
- 7.23.2.2 The difftime function (p: 338)
- C89/C90 standard (ISO/IEC 9899:1990):
- 7.12.2.2 The difftime function (p: 171)
[edit] See also
C++ documentation for difftime