difftime() 函数在 time.h 头文件中定义。它有助于以秒为单位计算起始时间和结束时间之间的差值。这里,两个时间都是日历时间,代表纪元(1970 年 1 月 1 日 00:00:00)。
double difftime(time_t time1, time_t time2); #where time1,time2 are objects
difftime() 函数接受两个参数。此函数很重要,因为没有其他通用算术运算在 time_t 类型上定义。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| time1 | 结束时间的 time_t 对象 | 必需 |
| time2 | 开始时间的 time_t 对象 | 必需 |
该函数返回一个 double 值,表示 time1 和 time2 之间以秒为单位的差值。
| 输入 | 返回值 |
|---|---|
| time1,time2 | double 值 (time2-time1) |
#include <stdio.h>
#include <time.h>
int main()
{
time_t time1, time2;
double diff;
printf("Program Starting...\n");
time(&time1);
printf("5 seconds Sleeping...\n");
sleep(5);
time(&time2);
diff = difftime(time2, time1);
printf("Execution time = %f\n", diff);
printf("Program Exiting...\n");
return(0);
}
输出
Program Starting ... 5 seconds Sleeping ... Execution time = 5.000000 Program Exiting ...
#include <stdio.h>
#include <time.h>
int main (){
int sec;
time_t t1, t2;
// Current time
time(&t1);
for (sec = 1; sec <= 6; sec++)
sleep(1);
//after sleep in loop.
time(&t2);
printf("The difference in time is %.2f seconds",
difftime(t2, t1));
return 0;
}
输出
The difference in time is 6.00 seconds