C语言获取时间与日期的函数大全

2024-02-22 22:04

本文主要是介绍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;            //年份,需要加上1970
  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下是微秒,这个是程序执行到函数调用时钟滴答总次数。在scanf之类的阻塞函数中这个时钟处理器不会计数。

五、使用ftime函数获取毫秒级,原型 void ftime(struct timeb *tp);timeb结构体
struct timeb {
    time_t time;            /* 为1970-01-01至今的秒数*/
    unsigned short millitm; /* 千分之一秒即毫秒 */
    short timezone;          /* 为时区和Greenwich相差的时间,单位为分钟 */
    short dstflag;           /* 为日光节约时间的修正状态,如果为非0代表启用日光节约时间修正 */
};

这篇关于C语言获取时间与日期的函数大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736628

相关文章

【从浅学到熟知Linux】基础IO第一弹=>C语言文件操作接口、文件系统调用、文件描述符概念及分配规则

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 C语言文件接口回顾系统文件概念与接口文件基本概念系统接口openreadwritecloselseek 什么是当前路径 文件描述符文件描述符概念与原理文件描述符分配规则 C语言文件接口回顾 在开始介绍基础IO上篇的相关内容前,让我们

滴滴春招深度揭秘:2024最全Spring Microservices Architecture面试题大全,每位开发者必备!99%的应聘者都强烈推荐!

在2024年,随着技术的不断演进和市场需求的快速变化,微服务架构已经成为现代软件开发的核心。滴滴作为领先的科技公司之一,特别重视在其庞大的交通网络服务平台中采用微服务架构,以提高系统的可扩展性、灵活性和维护性。微服务架构通过将应用程序拆分成一系列小的、独立的服务来实现这些优点,每个服务执行特定的业务功能,并通过轻量级通信协议独立地部署和扩展。 为了帮助应聘者全面准备滴滴的春季招聘,本文精心整理了

程序设计|C语言教学——C语言基础1:C语言的引入和入门

一、程序的执行 1.定义 解释:借助一个程序,那个程序能够试图理解你的程序,然后按照你的要求执行。下次执行的时候还需要从零开始解释。 编译:借助一个程序,能够像翻译官一样,把你的程序翻译成机器语言,然后机器可以执行翻译好的机器语言,而且下次再次执行的时候不用再次翻译。 2.区别 编程语言本身不存在解释和编译之分,只是传统和习惯的问题,某种语言习惯用解释或编译来执行。如C语言一般用编译来执

C语言学习/复习22----阶段测评编程题

一、阶段测评练习     题1:        题2:

c语言if-else的效率比较

闲着没事测试下if-else的执行效率 测试环境:Mac pro i7 2.3Ghz 。。。编译器gcc 4.9,代码没有进行优化-O0; 测试代码:c代码1: int main(){int n=100000000;int b=-1;int a=0;while(n-->0){if(b<0) b--;else b--;if(b<0) b--;else b--;if(b<

CUDA-F-2-2-核函数计时

Abstract: 本文介绍CUDA核函数计时方法 Keywords: gettimeofday,nvprof 开篇废话 继续更新CUDA,同时概率和数学分析也在更新,欢迎大家访问www.face2ai.com 昨天晚上开始折腾ubuntu,上一篇用腾讯云搭建服务器来调试CUDA,现在有机器了,所以装个ubuntu准备调试cuda,但是出现了下面的纠结问题,搞了将近五个多小时,才解决,首先我的

单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.12枚举

枚举(enumeration)是C语言的一种重要数据类型,由用户自定义一组命名的整数常量。使用枚举可以使程序具有可读性及可维护性。 1 定义枚举类型 在C语言中,使用enum关键字来定义枚举类型。下面以LED为例,介绍枚举类型的定义方法。 1)方式一(不使用typedef): a.显式指定定义值 enum LED //声明一个名为LED的枚举类型{LED_DEBUG

【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题

文章目录 一、什么是时间复杂度和空间复杂度?1.1 算法效率1.2 时间复杂度的概念1.3 空间复杂度的概念1.4 复杂度计算在算法中的意义 二、时间复杂度的计算2.1 大O渐进表示法2.2 常见时间复杂度计算举例 三、空间复杂度的计算四、Leetcode刷题1. 消失的数2. 旋转数组 一、什么是时间复杂度和空间复杂度? 1.1 算法效率 算法效率分析分为两种:第一种是

世界上最好的开发语言还是PHP吗?

PHP做为一种轻量级开发语言,从2004年到现在都饱受争议,但是PHP的定位其实一直都算是比较清晰,主要支撑于中小企业的Web应用方面,到现在为止,互联网上应用最高的应用WordPress也是PHP语言所开发的。PHP的很多开发框架的使用量也居高不下,比如Laravel等等。PHP的开发依然广泛运用于建站,游戏服务端开发等等 昨晚和朋友聚餐喝酒,桌上一位老伙伴跟我吐槽,说PHP现在找工作越来越难

全量知识系统 程序详细设计 函数式编程(QA 百度文库)

Q1. 全知系统宏Macro(表示“构造Construction”的概念词。 VAR、VAL和PAR)、域Domain(表示“范畴”的索引词。Variable<Content,Scope>,Value<environment,Domain>  ,Parameter<context,range>) 和 微Micro(表示“形状Shape”的词典词。正式型Formal::Variable ,物料型 M