目录
1、简介
使用gettimeofday()函数可以得到精确的时间,时间精度可以达到微妙,它是C标准库的函数。
2、函数原型及参数结构体
gettimeofday()会把目前的时间用tv结构体返回,当地时区的信息则会放在tz所指的结构中;具体结构体参数看上图
3、说明
在gettimeofday()函数中,参数tv或者tz都可以为空(NULL),如果为空就不返回其对应的结构体。
函数执行成功后返回 0 ,失败返回 -1 ,错误代码存储在 errno 中。
4、程序实例
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
void hello_world(void)
{
printf("Hello world!!!!\r\n");
}
int main(void)
{
struct timeval tv_begin,tv_end;
gettimeofday(&tv_begin,NULL);
hello_world();
gettimeofday(&tv_end,NULL);
printf(“tv_begin_sec:%d\n”,tv_begin.tv_sec);
printf(“tv_begin_usec:%d\n”,tv_begin.tv_usec);
printf(“tv_end_sec:%d\n”,tv_end.tv_sec);
printf(“tv_end_usec:%d\n”,tv_end.tv_usec);
printf(“Second:%d\n”,tv_begin.tv_sec-tv_end.tv_sec);//秒时间差
printf(“uSecond:%d\n”,tv_begin.tv_usec-tv_end.tv_usec);//微秒时间差
return 0;
}
注意:在使用gettimeofday()函数时,第二个参数一般都为空,因为我们一般都只是为了获得时间差,而不用获得timezone的数值。