文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言系统日期和时间问题怎么解决

2023-07-02 12:42

关注

这篇文章主要讲解了“C语言系统日期和时间问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言系统日期和时间问题怎么解决”吧!

⒈题目内容

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

在本代码当中只有一个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_year       1900年后的年数,要加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<stdio.h>#include<time.h>#include<Windows.h>//结构体指针变量指向(->)的就是结构体类型当中成员变量struct tm* fun_Time;void color(short x){    if (x >= 0 && x <= 15)        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);    else        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);}void menu(){    color(0);           system("cls");        color(10);    printf("|---------  系统&时间 --------|\n");    printf("|-------★ 1.系统日期 ★------|\n");    printf("|-------★ 2.系统时间 ★------|\n");    printf("|-------★ 3.退出系统 ★------|\n");}void Time(){    time_t Time;//定义时间类型    time(&Time);//获取系统日期    //注:指针变量接收地址,在这里我们定义了结构体指针变量所以只需要用结构体指针当中变量用来存储地址即可。    //struct tm* fun_Time = localtime(&Time);同理    fun_Time = localtime(&Time);//转换为系统时间}int main(void){    const int date[4] = {0,1,2,3};    int n = 0;    printf("请输入[0]获取帮助信息:");    while (1)    {        color(1);        scanf_s("%d", &n);        if (date[0] == n)            menu();        else if (date[1] == n)        {            Time();//时间属性            printf("系统日期:%d-%d-%d\n", 1900 + fun_Time->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;        }        else            printf("你输入的指令错误,请重新输入:");    }    return 0;}

⒍代码运行结果

⒈获取信息 

C语言系统日期和时间问题怎么解决

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

C语言系统日期和时间问题怎么解决

感谢各位的阅读,以上就是“C语言系统日期和时间问题怎么解决”的内容了,经过本文的学习后,相信大家对C语言系统日期和时间问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯