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下是微秒,这个是程序执行到函数调用经过的时钟滴答次数。

相关推荐
啊吧怪不啊吧5 小时前
C++之基于正倒排索引的Boost搜索引擎项目usuallytool部分代码及详解
开发语言·c++·搜索引擎·项目
java干货6 小时前
如何让 iPhone 用上 Type-C 充电器?适配器模式详解
c语言·iphone·适配器模式
代码改善世界7 小时前
C语言项目实战:学生成绩管理系统(支持登录注册、随机考试、分数区间统计)
c语言·网络·课程设计
漫雾_8 小时前
两个强制结束进程的方法
c++·驱动开发·安全
HAPPY酷8 小时前
C++ 多线程实战三板斧
java·开发语言·c++·技术美术
fpcc8 小时前
并行编程实战——CUDA编程的Tile
c++·cuda
『往事』&白驹过隙;9 小时前
浅谈PC开发中的设计模式搬迁到ARM开发
linux·c语言·arm开发·设计模式·iot
Kurbaneli10 小时前
C语言过时了吗?2025年仍不可替代
c语言·开发语言
_风华ts10 小时前
C++ 函数封装与绑定
c++·函数指针·函数封装
ShineWinsu11 小时前
对于C++中stack和queue的详细介绍
开发语言·数据结构·c++·面试·stl·queue·stack