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

相关推荐
zh_xuan2 小时前
c++ 单例模式
开发语言·c++·单例模式
apocelipes3 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
int型码农4 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
利刃大大4 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
喜欢吃燃面4 小时前
C++刷题:日期模拟(1)
c++·学习·算法
SHERlocked934 小时前
CPP 从 0 到 1 完成一个支持 future/promise 的 Windows 异步串口通信库
c++·算法·promise
虚拟之5 小时前
36、stringstream
c++
我很好我还能学5 小时前
【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
开发语言·c++
学习噢学个屁6 小时前
基于STM32语音识别柔光台灯
c语言·stm32·单片机·嵌入式硬件·语音识别
南岩亦凛汀6 小时前
在Linux下使用wxWidgets进行跨平台GUI开发
c++·跨平台·gui·开源框架·工程实战教程