C difftime()

difftime() 函数在 time.h 头文件中定义。它有助于以秒为单位计算起始时间和结束时间之间的差值。这里,两个时间都是日历时间,代表纪元(1970 年 1 月 1 日 00:00:00)。


double difftime(time_t time1, time_t time2); #where time1,time2 are objects

 

difftime() 参数: 

difftime() 函数接受两个参数。此函数很重要,因为没有其他通用算术运算在 time_t 类型上定义。

参数 描述 必需/可选
time1  结束时间的 time_t 对象 必需
time2  开始时间的 time_t 对象 必需

difftime() 返回值

该函数返回一个 double 值,表示 time1 和 time2 之间以秒为单位的差值。

输入 返回值
time1,time2 double 值 (time2-time1)

difftime() 示例 

示例 1:C 语言中 difftime() 函数的工作原理?


#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 ...

示例 2:C 语言中 difftime() 如何工作?


#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