方法一:
time_t time(time_t *timer)
可以获取当前的系统时间,此函数返回的是从公元1970年1月1日0时0分0秒算起到现在所经过的秒数
如果参数不是空指针的话,它也会把返回值设置到入参指针所指对象中
在头文件<time.h>中,有:typedef long time_t,所以time_t其实就是long类型,所以它能保存的时间不能晚于2038年1月18日19时14分07秒
注意:需要依赖头文件time.h,只能精确到秒
方法二:
clock_t clock(void)
从开启这个进程到调用clock()函数之间的CPU时钟计时单元数
常量CLOCKS_PER_SEC表示一秒钟会有多少个始终计时单元
注意:同样需要依赖头文件time.h,只能精确到秒
方法三:
int gettimeofday(struct timeval *tv, struct timezone *tz)
参数tv用于保存时间结果,参数tz用于保存时区结果
结构体timeval的定义为:
struct timeval{
long int tv_sec; //秒数
long int tv_usec; //微秒数
}
获取以秒为单位的时间如下:
...
timeval tim;
gettimeofday(&tim, NULL);
return tim.tv_sec + (tim.tv_usec/1000000.0);
...
优点:可以精确到微秒(0.000001s)
注意:需要依赖头文件<sys/time.h>