difftime
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <time.h>
|
||
double difftime( time_t time_end, time_t time_beg ); |
||
Вычисляет разницу между двумя значениями времени как объектами типа time_t (time_end - time_beg) в секундах. Если time_end ссылается на время раньше time_beg, то результат отрицательный.
Параметры
| time_beg, time_end | — | сравниваемые значения времени |
Возвращаемое значение
Разница между двумя значениями времени в секундах.
Замечания
В 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);
// устанавливаем beg на начало месяца
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 (стр. 285)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.27.2.2 Функция difftime (стр. 390)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.23.2.2 Функция difftime (стр. 338)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 7.12.2.2 Функция difftime (стр. 171)
See also
Документация C++ по difftime
|