Linux获取纳秒级别时间

  1. 在 Linux 系统中可以使用 gettimeofday 函数来获取时间,这个函数能够以毫秒的精度来获取时间
struct timeval tv;

gettimeofday(&tv, NULL);

time_t cur_time = tv.tv_sec;

long cur_time_ms = tv.tv_usec/1000;

printf(“cur_time = %d \n”, cur_time);

printf(“cur_time_ms = %ld \n”, cur_time_ms);
  1. Linux 系统可以使用 clock_gettime 函数来获取时间精度,其可以以纳秒的精度获取时间
struct timespec ts;

clock_gettime(CLOCK_REALTIME, &ts);

Time_t cur_time = ts.tv_sec;

long cur_time_us = ts.tv_nsec/1000;

printf(“cur_time = %d \n”, cur_time);

printf(“cur_time_us = %ld \n”, cur_time_us);