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

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos