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

相关推荐
优雅的潮叭29 分钟前
c++ 学习笔记之 shared_ptr
c++·笔记·学习
SunkingYang37 分钟前
QT中使用Lambda表达式作为槽函数用法,以及捕获列表和参数列表用法与区别
c++·qt·用法·lambda表达式·捕获列表·槽函数·参数列表
微露清风1 小时前
系统性学习C++-第二十二讲-C++11
java·c++·学习
方圆工作室1 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
代码村新手2 小时前
C++-类和对象(中)
java·开发语言·c++
Ccjf酷儿3 小时前
C++语言程序设计 (郑莉)第十章 泛型程序设计与C++标准模板库
开发语言·c++
sycmancia4 小时前
C语言学习03——数据类型
c语言
明洞日记6 小时前
【CUDA手册002】CUDA 基础执行模型:写出第一个正确的 Kernel
c++·图像处理·算法·ai·图形渲染·gpu·cuda
oioihoii7 小时前
程序员如何系统入门Vibe Coding?
c++
C+++Python7 小时前
C++类型判断
开发语言·c++