> 文档中心 > 『C语言』系统日期&时间

『C语言』系统日期&时间


🚩write in front🚩

🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家 ^ 星级博主~掘金⇿InfoQ创作者~周榜77»总榜1766🏅
🆔本文由 謓泽 原创 CSDN首发 🙉 如需转载还请通知⚠
📝个人主页-謓泽的博客_CSDN博客💬
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏-
YY_謓泽的博客-CSDN博客🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 

目录「系统日期&时间」↓

🚩write in front🚩

⒈题目内容

⒉题目要求

⒊思考问题

⒋解题思路

¹time - 库函数

²localtime - 库函数

⒌程序代码 

⒍代码运行结果

⒈题目内容

输出系统的日期以及时间。

在本代码当中只有一个main函数将各个控制命令保存在数组当中,然后适用循环语句设置一个死循环。在该循环当中让用户输入命令指令,并且判断用户输入的命令是否和数组当中存储的命令是否相同。如果它们是相同的,则执行相对应的内容。

⒉题目要求

用户进行某一个操作需要输入一个命令,如果命令输入错误,系统会进行提示。

当用户输入命令字符"0"会显示帮助信息

当用户输入命令字符"1"会显示系统日期

当用户输入命令字符"2"会显示系统时间

当用户输入命令字符"3"会执行退出系统

⒊思考问题

一:需要保证程序能够一直执行下去,等待用户的命令防止主函数结束。

二:获取系统日期和系统时间。

⒋解题思路

结构体struct tm当中的结构成员如下↓

int tm_sec 分后的秒(0-61) 多出来的两秒是用来处理跳秒问题用的int tm_min 小时后的分(0-59)int tm_hour午夜后的小时(0-23)int tm_mday月中的天(0-31) 本月第几日int tm_mon 一月后的月数(0-11) 本年第几月int tm_year1900年后的年数,要加1900表示那一年int tm_wday星期日后的天数(0-6) 本周第几日int tm_yday一月一日后的天数(0-365),本年第几日,闰年有366日int tm_isdst      夏令时标志(大于0的值说明夏令时有效,0说明无效,负数说明信息不可用)

¹time - 库函数

描述

C语言当中的库函数 time_t time(time_t *seconds) 返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。

声明

下面是 time() 函数的声明。

time_t time(time_t *seconds)

注→这个存储的类型是时间类型也就是time_t在我们获取系统日期之前我们需要定义一个时间类型的变量。

参数

seconds -- 这是指向类型为 time_t 的对象的指针,用来存储 seconds 的值。

返回值

以 time_t 对象返回当前日历时间。


²localtime - 库函数

描述

C 库函数 struct tm *localtime(const time_t *timer) 使用 timer 的值来填充 tm 结构。timer 的值被分解为 tm 结构,并用本地时区表示。

声明

下面是 localtime() 函数的声明。

struct tm *localtime(const time_t *timer)

参数

timer -- 这是指向表示日历时间的 time_t 值的指针。

返回值

该函数返回指向 tm 结构的指针,该结构带有被填充的时间信息。

⒌程序代码 

系统日期&时间 → 代码示例如下↓

#define _CRT_SECURE_NO_WARNINGS 1#include#include#include//结构体指针变量指向(->)的就是结构体类型当中成员变量struct tm* fun_Time;void color(short x){if (x >= 0 && x tm_year, fun_Time->tm_mon + 1, fun_Time->tm_hour);}else if (date[2] == n){Time();//时间属性printf("系统日期:%d:%d:%d\n", fun_Time->tm_hour, fun_Time->tm_min, fun_Time->tm_sec);}else if (date[3] == n){printf("退出EXIT!\n");break;}elseprintf("你输入的指令错误,请重新输入:");}return 0;}

⒍代码运行结果

⒈获取信息 

⒉系统日期⒊系统时间⒋退出EXIT