linux获取时间,精确到微秒usec
程序员文章站
2024-01-24 09:22:34
...
包含系统头文件:#include <sys/time.h>
用到的接口:
int gettimeofday(struct timeval *tv, struct timezone *tz);
计算时间间隔,精确到微秒:
1.首先获取任务起始时间值,使用上述接口,也可以封装,并记录到微秒
2.中途执行其他任务
3.再次获取任务结束时间值,使用上述接口,也可以简单封装
4.计算两次时间间隔,微秒转换为秒,单位为S,保留小数位数。
long long GetCurrentTime()
{
struct timeval time;
gettimeofday(&time,NULL);
return (time.tv_sec * 1000000 + time.tv_usec);
}
double CalcTime_inusec(long long startusec, long long endusec)
{
return (double)(endusec - startusec)/1000000.0;
}
举例:
int main ()
{
long long startusec, endusec;
double elaps;
startusec = GetCurrentTime();
/* do sth */
endusec = GetCurrentTime();
elaps = CalcTime_inusec(startusec, endusec);
printf("do sth took %.4f seconds\n", elaps);/* 精确到小数点后四位输出值,单位为S */
}
上一篇: Linux获取系统时间,精确到毫秒