最近有个需求,需要数据库程序统计一次sql查询的过程耗时多久,于是乎就需要程序获取当前时间戳,由于这个时间非常短,因此需要精确的毫秒,话不多说,直接给程序~
#include
#include
#include
#include
int main(){
//执行sql之前
struct timeval begin;
gettimeofday(&begin,NULL);
long long beginTime = (long long)begin.tv_sec * 1000 + (long long)begin.tv_usec / 1000;
printf("beginTime is:%ldn",beginTime);
//执行sql的过程
sleep(5);
//sql执行之后
struct timeval end;
gettimeofday(&end,NULL);
long long endTime = (long long)end.tv_sec * 1000 + (long long)end.tv_usec / 1000;
printf("endTime is:%ldn",endTime);
long long interval = endTime - beginTime;
printf("mysql_handle_time:%ld@n",interval);
return 0;
}
执行结果如下:
这段程序,不需要任何额外的库,放到linux上gcc编译运行即可,非常好用~