在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,得到毫秒级的时间戳。