阅读量: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 时间)。