📅  最后修改于: 2023-12-03 15:30:54.141000             🧑  作者: Mango
在 C 语言中,可以使用 gettimeofday 函数在 Linux 系统下获取当前精确的时间,包括微秒和秒级别的单位,然后通过简单的数学计算可以得到毫秒。
gettimeofday 函数定义如下:
#include <sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
tv
:用于存放当前时间的 timeval 结构体指针;tz
:时区相关的信息,一般传入 NULL。使用 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
函数获取当前系统运行时间的毫秒部分。