简介
通过函数gettimeofday获取当前时间


代码
#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>
int main()
{
double dbCostms;
struct timeval tvStart, tvEnd;
gettimeofday(&tvStart, NULL);
usleep(30000);
gettimeofday(&tvEnd, NULL);
dbCostms = (double)(1000 * (tvEnd.tv_sec - tvStart.tv_sec) + ((tvEnd.tv_usec - tvStart.tv_usec) / 1000.0));
printf("cost %-0.2f ms\n", dbCostms);
gettimeofday(&tvStart, NULL);
sleep(3);
gettimeofday(&tvEnd, NULL);
dbCostms = (double)(1000 * (tvEnd.tv_sec - tvStart.tv_sec) + ((tvEnd.tv_usec - tvStart.tv_usec) / 1000.0));
printf("cost %-0.2f ms\n", dbCostms);
gettimeofday(&tvStart, NULL);
sleep(20);
gettimeofday(&tvEnd, NULL);
dbCostms = (double)(1000 * (tvEnd.tv_sec - tvStart.tv_sec) + ((tvEnd.tv_usec - tvStart.tv_usec) / 1000.0));
printf("cost %-0.2f ms\n", dbCostms);
gettimeofday(&tvStart, NULL);
usleep(2688);
gettimeofday(&tvEnd, NULL);
dbCostms = (double)(1000 * (tvEnd.tv_sec - tvStart.tv_sec) + ((tvEnd.tv_usec - tvStart.tv_usec) / 1000.0));
printf("cost %-0.2f ms\n", dbCostms);
getchar();
return 0;
}
测试结果


本文介绍了一种利用C语言中的gettimeofday函数来精确测量不同时间间隔的方法。通过实例演示了如何计算微妙级别的时间差,并展示了从几毫秒到数十秒时间间隔的测量结果。
537

被折叠的 条评论
为什么被折叠?



