时间操作分为日历时间和处理器时钟时间,具体已在代码注释中写出:
time 函数有两中用法,如果他里面带参数,那就把返回值放在参数里面,否则就直接返回time值.
- time ( &rawtime );
- rawtime =time()
处理器时钟:
#include <stdio.h>
#include <time.h>
//处理器时钟
void clockTime(){
long i=10000000L;
//适合存储处理器时间的类型
clock_t start,finish;
double TheTimes;
printf("做%ld次空循环需要的时间为",i);
//返回程序执行起(一般为程序的开头),处理器时钟所使用的时间
start=clock();
while(i--);
finish=clock();
//CLOCKS_PER_SEC 这个宏表示每秒的处理器时钟个数。
TheTimes=(double)(finish-start)/CLOCKS_PER_SEC;
printf("%f秒。\n",TheTimes);
}
处理日历时间:
//日历时间
void calendar(){
int i;
//适合存储日历时间的类型
time_t rawtime,start,end;
//适合存储处理器时间
//定义一个时间结构指针
struct tm * timeinfo;
//计算当前日历时间并把他编码成time_t格式
time ( &rawtime );
//分解为tm结构并用本地时区显示
timeinfo = localtime ( &rawtime );
//返回一个指向字符串的指针,代表结构体timeinfo的日期和时间
printf ( "当前本地时间为: %s",asctime(timeinfo));
//*****************************************************************************
start=time(NULL);
for(i=0;i<3000;i++){
printf("\n");
}
end=time(NULL);
//计算时间间隔
printf("时间间隔为:%f\n",difftime(end,start));
printf("时间间隔为:%6.3f\n",difftime(end,start));//占6列3个小数
}