百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

C语言的time函数获取时间参数(c语言获取当前时间函数)

liebian365 2025-02-04 15:01 16 浏览 0 评论

编程中经常用到时间表达及转换的函数,它们都定义在 time.h 库函数中。其中time函数可以得到当前日历时间或者设置日历时间。今天主要是以实际的例子介绍time函数。


1.时间相关基础知识

(1)世界标准时间Coordinated Universal Time(UTC):

协调世界时,又称世界标准时间,也即格林威治标准时间(Greenwich Mean Time,GMT),中国内地的时间与UTC得时差为+8,也即UTC+8,美国为UTC-5。

(2)日历时间:

日历时间,是用"从一个标准时间点到此时的时间经过的秒数"来表示的时间。标准时间点对不同编译器可能会不同,但对一个编译系统来说,标准时间是不变的。一般是表示距离UTC时间 1970-01-01 00:00:00的秒数。

(3)时间点:

时间点。在标准c/c++中是一个整数,用此时的时间和标准时间点相差的秒数(即日历时间)来表示。

(4)时钟计时单元:

时钟计时单元(而不叫做时钟滴答次数),一个时钟计时单元的时间长短是由cpu控制的,一个clock tick不是cpu的一个时钟周期,而是c/c++的一个基本计时单位。


2.time函数

(1)函数原型

函数原型: time_t time(time_t *timer)
(1)参数说明: timer=NULL时得到当前日历时间
(从1970-01-01 00:00:00到现在的秒数),
timer=时间数值时,用于设置日历时间,
time_t是一个unsigned long类型。
如果 timer不为空,则返回值也存储在变量 timer中。
(2)函数功能: 得到当前日历时间或者设置日历时间
(3)函数返回: 当前日历时

(2)time.h头文件

要使用time(),必须在程序中包含头文件。

(3)time.h 的定义

time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。

4个变量
size_t  是无符号整数类型,它是 sizeof 关键字的结果。
clock_t  这是一个适合存储处理器时间的类型,类型为unsigned long
time_t  这是一个适合存储日历时间类型。
struct 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(注意)  */
   int tm_year;        /* 自 1900 年起的年数      */
   int tm_wday;        /* 一周中的第几天,范围从 0 到 6 */
   int tm_yday;        /* 一年中的第几天,范围从 0 到 365   */
   int tm_isdst;       /* 夏令时               */
};

两个宏

NULL  这个宏是一个空指针常量的值。
CLOCKS_PER_SEC  这个宏表示每秒的处理器时钟个数。
用于将clock()函数的结果转化为以秒为单位的量,
这个量的具体值是与操作系统相关的,通常为1000。

(4)time()函数使用示例

a.time()函数有两种使用方式:

 t1=time(NULL)或t1=time(0)

将空指针传递给time()函数,并将time()返回值赋给变量t1

b. time(&t2);

将变量t2的地址作为实参传递给time()函数,函数自动把结果传递给t2,不需要额外的赋值语句。


3.实例

程序

#include 


#include 


int main ()
{
    time_t sec,sec1,sec2;/*函数原型: time_t time(time_t *timer)*/


    sec = time(NULL);
    printf("自 1970-01-01 起的小时数 = %ld\n", sec/3600);
    printf("自 1970-01-01 起的天数 = %ld\n", (sec/3600)/24);
    printf("自 1970-01-01 起的年数 = %ld\n", (sec/3600)/24/365);


    sec1 =  time(0);
    printf("自 1970-01-01 起的小时数 = %ld\n", sec1/3600);
    printf("自 1970-01-01 起的天数 = %ld\n", (sec1/3600)/24);
    printf("自 1970-01-01 起的年数 = %ld\n", (sec1/3600)/24/365);


    time(&sec2);
  printf("自 1970-01-01 起的小时数 = %ld\n", sec2/3600);
    printf("自 1970-01-01 起的天数 = %ld\n", (sec2/3600)/24);
    printf("自 1970-01-01 起的年数 = %ld\n", (sec2/3600)/24/365); 


    getchar();
    return(0);
}

运行结果


4.参考内容

[1] C语言time()函数的用法-CSDN博客

[2] C 语言中的 time 函数总结 | 菜鸟教程

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。


作 者 | 郭志龙

编 辑 | 郭志龙
校 对 | 郭志龙

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: