C语言获取时间函数大全

一、最简单获取秒数的,windows和linux逗支持用time()函数,获取从1970年到现在过了多少秒,time_t其实是long int 类型

time_t start=time(NULL);

for(long i=0;i<10000000000;)

i+=1;

time_t end=time(NULL)

printf("经过了%d秒",end-start);

二、linux下的,使用gettimeofday()接口获取微秒级别的,tv.sec是秒,tv.usec是秒余下的微秒值。

#include <stdio.h>

#include <sys/time.h>

int main() {

struct timeval start, end;

gettimeofday( &start, NULL );

sleep(3);

gettimeofday( &end, NULL );

int timeuse = 1000000 * ( end.tv_sec - start.tv_sec ) + end.tv_usec - start.tv_usec;

printf("经过了%d微秒", timeuse);

return 0;

}

三、使用localtime函数把1970到现在经过的秒数转化为日期,

返回一个tm结构体,tm结构体定义为:

struct tm {

int tm_sec; //秒0-59

int tm_min; //分0-59

int tm_hour; //时0-23

int tm_mday; //日1-31

int tm_mon; //月份0-11,0代表一月

int tm_year; //年份,需要加上1900

int tm_wday; //星期0-6,0代表星期天

int tm_yday; //从每年1月1日开始的天数0-365,0代表1月1日

};

函数原型:struct tm *localtime(const time_t *clock);需要把time_t类型的秒数传进去。

四、使用clock()函数,windows下是毫秒,linux下是微秒,这个是程序执行到函数调用经过的时钟滴答次数。

相关推荐
明日清晨8 小时前
VS2022禁用 NRVO/返回值优化(不调用拷贝构造函数处理方式)
c++
阿米亚波8 小时前
【C++ STL】std::array
java·开发语言·c++
choumin8 小时前
结构型模式——组合模式
c++·设计模式·组合模式·结构型模式
wuyk5559 小时前
66.嵌入式C语言进阶:共用体(Union)实战指南——单片机内存省一半的神级技巧
c语言·开发语言·stm32·单片机·嵌入式硬件
努力努力再努力wz9 小时前
【分布式系统与 RPC 框架系列】从单机瓶颈到远程调用:一文理解分布式架构与 RPC 原理
linux·网络·c++·分布式·网络协议·rpc·架构
神仙别闹9 小时前
基于C++实现(控制台)景区旅游管理系统
开发语言·c++·旅游
2601_9516443217 小时前
C语言二级备考指南
c语言·编程基础·编译环境·二级考试·题库选择
hold?fish:palm21 小时前
kv存储主从复制的设计与实现
c++·redis·后端
啦啦啦啦啦zzzz21 小时前
算法:贪心算法
c++·算法·leetcode·贪心算法
charlie11451419121 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++