【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
相关推荐
周杰偷奶茶23 分钟前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
橙子圆1231 小时前
JUC之集合类不安全
java·开发语言
阿里嘎多学长1 小时前
2026-09-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Bruce_Liuxiaowei1 小时前
网页版 DeepSeek “harness desktop“ WebGL 上下文创建失败排查实录
开发语言·javascript·webgl
狗凯之家源码网1 小时前
PHP 用户反馈系统源码深度评测与实战指南
开发语言·php·用户反馈系统
白山编程大哥2 小时前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
谢亮_vipxieliang2 小时前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
无敌贵点大王2 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
迅猛龙办公室2 小时前
实现第一个python程序(HelloWorld)
开发语言·python
phltxy2 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui