C语言实现linux系统获取高精度时间差(毫秒)
Posted Hero_HL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实现linux系统获取高精度时间差(毫秒)相关的知识,希望对你有一定的参考价值。
简介
通过函数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语言实现linux系统获取高精度时间差(毫秒)的主要内容,如果未能解决你的问题,请参考以下文章
如何将GetTickCount得到的DWORD转化为时间,毫秒级
C语言linux gettimeofday()函数和time()函数的区别(后者只能得到秒级系统时间,前者能得到毫秒甚至微秒级系统时间)