📜  gettimeofday c 示例毫秒 (1)

📅  最后修改于: 2023-12-03 15:30:54.141000             🧑  作者: Mango

使用 gettimeofday 函数获取毫秒

在 C 语言中,可以使用 gettimeofday 函数在 Linux 系统下获取当前精确的时间,包括微秒和秒级别的单位,然后通过简单的数学计算可以得到毫秒。

函数定义

gettimeofday 函数定义如下:

#include <sys/time.h>

int gettimeofday(struct timeval *tv, struct timezone *tz);
参数说明
  • tv:用于存放当前时间的 timeval 结构体指针;
  • tz:时区相关的信息,一般传入 NULL。
返回值说明
  • 成功:返回 0;
  • 失败:返回 -1。
示例代码

使用 gettimeofday 函数获取当前时间并打印毫秒部分:

#include <stdio.h>
#include <sys/time.h>

int main()
{
    struct timeval tv;
    gettimeofday(&tv, NULL);
    unsigned long long milliseconds_since_epoch =
        (unsigned long long)(tv.tv_sec) * 1000 +
        (unsigned long long)(tv.tv_usec) / 1000;
    printf("Current milliseconds: %llu\n", milliseconds_since_epoch);
    return 0;
}

该程序使用 gettimeofday 函数获取当前时间,将秒级别的部分乘以 1000 并加上微秒级别的部分除以 1000 计算出毫秒部分,然后将结果打印出来。

注意事项

在 Windows 平台下,可以使用 GetTickCount 函数获取当前系统运行时间的毫秒部分。