Linux中gettimeofday函数怎样获取时间

avatar
作者
筋斗云
阅读量:0

在 Linux 中,gettimeofday 函数用于获取当前的时间,以秒和微秒为单位。这个函数通常用于测量代码段的执行时间或者获取高精度的时间戳。

gettimeofday 函数的原型如下:

#include <sys/time.h>  int gettimeofday(struct timeval *tv, struct timezone *tz); 

其中,tv 是一个指向 timeval 结构体的指针,用于存储获取到的时间;tz 是一个指向 timezone 结构体的指针,但在大多数情况下,你可以传递 NULL,因为 timeval 结构体中的 tm_zone 字段已经包含了时区信息。

timeval 结构体的定义如下:

struct timeval {     time_t      tv_sec;     // 秒数     suseconds_t tv_usec;    // 微秒数 }; 

下面是一个简单的示例,展示如何使用 gettimeofday 函数获取当前时间:

#include <stdio.h> #include <sys/time.h>  int main() {     struct timeval tv;      gettimeofday(&tv, NULL);      printf("当前时间:%ld 秒 %ld 微秒\n", (long)tv.tv_sec, (long)tv.tv_usec);      return 0; } 

运行这个程序,你将看到类似以下的输出:

当前时间:1627893040 秒 48094 微秒 

这表示获取到的时间是 2021-08-04 10:00:40(UTC 时间)。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!