C 库函数 - time()、difftime()
C 库函数 time_t time(time_t *seconds) 返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。
下面是 time() 函数的声明。
time_t time(time_t *seconds)
seconds – 这是指向类型为 time_t 的对象的指针,用来存储 seconds 的值。
返回值
以 time_t 对象返回当前日历时间。
实例
实例1: 自 1970-01-01 起的小时数
#include <stdio.h>
#include <time.h>
int main ()
{
time_t seconds;
seconds = time(NULL);
printf("自 1970-01-01 起的小时数 = %ld\n", seconds/3600);
return(0);
}
实例2:打印函数执行时间间隔 difftime()
difftime():
C 库函数 double difftime(time_t time1, time_t time2) 返回 time1 和 time2 之间相差的秒数 (time1 - time2)。这两个时间是在日历时间中指定的,表示了自纪元 Epoch(协调世界时 UTC:1970-01-01 00:00:00)起经过的时间。
#include <stdio.h>
#include <time.h>
int main ()
{
time_t check_start_time = 0;
time_t check_end_time = 0;
double process_time;
printf("程序启动...\n");
time(&check_start_time);
printf("休眠 5 秒...\n");
sleep(5);
time(&check_end_time);
process_time = difftime(check_end_time,check_start_time);
printf("difftime = %f\n", process_time);
return(0);
}