clock_gettime

可以用于计算精度和纳秒的时间获取函数

头文件

#include<time.h>

函数原型

int clock_gettime(clockid_t, struct timespec *)

函数说明

struct timespec 提供了 ns 级的精确度
struct timespec {
  time_t tv_sec; // seconds
  long tv_nsec; // and nanoseconds
};

其中 clockid_t 为使用的时钟,主要有以下四种:

CLOCK_REALTIME 统当前时间,从1970年1.1日算起
CLOCK_MONOTONIC 系统的启动时间,不能被设置
CLOCK_PROCESS_CPUTIME_ID 本进程运行时间
CLOCK_THREAD_CPUTIME_ID 本线程运行时间

返回值

成功返回0 失败返回 -1

范例

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

int main() {
    struct timespec t;
    clock_gettime(CLOCK_REALTIME, &t);
    printf("%ld, %ld\n",t.tv_sec, t.tv_nsec);
}

执行

localhost:time xqhero$ ./clock_time
1611846628, 780836000
文档更新时间: 2021-01-28 23:49   作者:周国强