【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
相关推荐
数智工坊5 分钟前
【数据结构-栈】3.1栈的顺序存储-链式存储
java·开发语言·数据结构
R-G-B13 分钟前
python 验证每次操作图片处理的顺序是否一致,按序号打上标签,图片重命名
开发语言·python·图片重命名·按序号打上标签·验证图片处理的顺序
小二·18 分钟前
Go 语言系统编程与云原生开发实战(第10篇)性能调优实战:Profiling × 内存优化 × 高并发压测(万级 QPS 实录)
开发语言·云原生·golang
多多*21 分钟前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
v_for_van31 分钟前
力扣刷题记录4(无算法背景,纯C语言)
c语言·算法·leetcode
xyq202437 分钟前
jEasyUI 自定义分页
开发语言
.ZGR.41 分钟前
认识数据结构:图——无人机防空平台的“衍生品”
java·开发语言·数据结构
启友玩AI1 小时前
方言守护者:基于启英泰伦CI-F162GS02J芯片的“能听懂乡音”的智能夜灯DIY全攻略
c语言·人工智能·嵌入式硬件·ai·语音识别·pcb工艺
波波0071 小时前
Native AOT 能改变什么?.NET 预编译技术深度剖析
开发语言·.net