温馨提示×

linux毫秒时间戳在编程中

小樊
81
2025-01-01 11:08:46
栏目: 智能运维

在Linux系统中,毫秒级的时间戳可以通过gettimeofday函数或者clock_gettime函数来实现

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

int main() {
    struct timeval tv;
    gettimeofday(&tv, NULL);

    long milli_seconds = (long)tv.tv_sec * 1000 + (long)tv.tv_usec / 1000;
    printf("当前时间戳(毫秒):%ld\n", milli_seconds);

    return 0;
}

在这个示例中,我们使用gettimeofday函数获取当前的秒数和微秒数,然后将秒数乘以1000并加上微秒数除以1000,得到毫秒级的时间戳。

另一个获取毫秒级时间戳的方法是使用clock_gettime函数,它需要指定一个时钟源。通常情况下,我们可以使用CLOCK_REALTIME来获取系统时间:

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

int main() {
    struct timespec ts;
    clock_gettime(CLOCK_REALTIME, &ts);

    long milli_seconds = (long)ts.tv_sec * 1000 + (long)ts.tv_nsec / 1000000;
    printf("当前时间戳(毫秒):%ld\n", milli_seconds);

    return 0;
}

在这个示例中,我们使用clock_gettime函数获取当前的秒数和纳秒数,然后将秒数乘以1000并加上纳秒数除以1000000,得到毫秒级的时间戳。

0