Linux下时间输出格式精确到微秒-gettimeofday

来源:互联网 发布:淘宝网店经营模式 编辑:程序博客网 时间:2024/05/16 10:58


<span style="font-size: 18px; background-color: rgb(240, 240, 240);">
#include <sys/time.h></span>
int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:struct timezone{int tz_minuteswest;/*格林威治时间往西方的时差*/int tz_dsttime;/*DST 时间的修正方式*/}timezone 参数若不使用则传入NULL即可。而结构体timeval的定义为:struct timeval{long int tv_sec; // 秒数long int tv_usec; // 微秒数}它获得的时间精确到微秒(1e-6 s)量级。在一段代码前后分别使用gettimeofday可以计算代码执行时间:struct timeval tv_begin, tv_end;gettimeofday(&tv_begin, NULL);foo();gettimeofday(&tv_end, NULL);</span>

输出精切到微秒的时间格式

</pre><pre name="code" class="cpp">
#include <stdio.h>#include <string.h>#include <sys/time.h>#include <time.h>/*取当前时间,精确到微秒 ;*/int main(){    struct timeval tv;struct tm *     time_ptr;    memset(&tv, 0, sizeof(timeval));    gettimeofday(&tv, NULL);    time_ptr = localtime(&tv.tv_sec);     printf("%d-%02d-%02d %02d:%02d:%02d.%.04d\n",            time_ptr->tm_year + 1900,            time_ptr->tm_mon + 1,            time_ptr->tm_mday,            time_ptr->tm_hour,            time_ptr->tm_min,            time_ptr->tm_sec,tv.tv_usec);    return 1;}</span>


1 0
原创粉丝点击