【C语言】clock_gettime函数的使用

本文首发于 ❄️慕雪的寒舍

函数的基本信息如下

  • 其中第一个参数是配置你想获取什么类型的时间
  • 第二个参数是一个输出型参数,会将当前时间存放到一个结构体里面给你返回。
  • 返回值标识是否获取成功
c 复制代码
//头文件
#include <time.h>

//函数原型
int clock_gettime( clockid_t clock_id,struct timespec * tp );

// timespec 结构体
struct timespec { 
    __time_t tv_sec; /* 秒 */ 
    __syscall_s long_t tv_nsec; /* 纳秒 */
};

第一个参数有下面几种选项

复制代码
CLOCK_REALTIME: 是指系统时间,随着系统时间的改变而改变。系统时钟会被用户而改变。并非不变的时间戳。
CLOCK_MONOTONIC: 指从系统启动时开始计时。不受系统设置影响,也不会被用户改变。
CLOCK_PROCESS_CPUTIME_ID: 指这个进程运行到当前代码时,CPU花费的时间。
CLOCK_THREAD_CPUTIME_ID: 指这个线程运行到当前代码时,CPU花费的时间。

使用例子

c 复制代码
#include<stdio.h>
#include<time.h>

int main(){
    struct timespec now;

    clock_gettime(CLOCK_MONOTONIC,&now);

    printf("Seconds = %ld \t Nanoseconds = %ld\n",, now.tv_sec, now.tv_nsec);

    return 0;
}

输出结果

复制代码
Seconds = 29642          Nanoseconds = 751516090
相关推荐
LDR0061 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术1 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园1 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob1 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享1 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.1 天前
C语言--day30
c语言·开发语言
玖玥拾1 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..1 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽1 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下1 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php