1、代码解释
(1)头文件
#include <stdio.h>
#include <time.h>
///这两行代码是包含了 <stdio.h> 和 <time.h> 头文件,分别用于输入输出和时间函数。
(2)获取当前时间
int main()
{
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
//这段代码定义了 main 函数,是程序的入口。首先声明了 time_t 类型的变量 rawtime,用于存储从1970年1月1日午夜到当前时间的秒数。接着声明了 struct tm 类型的指针变量 timeinfo,用于存储时间信息。time 函数获取当前时间的秒数,localtime 函数将秒数转换为本地时间,并将结果存储在 timeinfo 中。
(3)输出年月日
printf("当前日期:%04d-%02d-%02d\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday);
//这行代码使用 printf 函数输出年月日。%04d 表示输出一个至少4位的十进制整数,%02d 表示输出一个至少2位的十进制整数。timeinfo->tm_year + 1900 表示当前年份,timeinfo->tm_mon + 1 表示当前月份,timeinfo->tm_mday 表示当前日期。
(4)输出星期
char *weekdays[] = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
printf("当前星期:%s\n", weekdays[timeinfo->tm_wday]);
//这段代码使用 printf 函数输出星期。首先定义了一个字符串数组 weekdays,包含了一周中每天的名称。timeinfo->tm_wday 表示当前星期几,根据该值从 weekdays 数组中获取对应的星期名称。
(5)输出时间
printf("当前时间:%02d:%02d:%02d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
//这行代码使用 printf 函数输出时间。%02d 表示输出一个至少2位的十进制整数。timeinfo->tm_hour 表示当前小时,timeinfo->tm_min 表示当前分钟,timeinfo->tm_sec 表示当前秒数。
(6)return语句
return 0;
}
//这行代码表示 main 函数的结束,并返回整数值 0,表示程序正常运行结束。
2、代码部分
#include <stdio.h>
#include <time.h>
int main()
{
// 获取当前时间
time_t rawtime;
struct tm *timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
// 输出年月日
printf("当前日期:%04d-%02d-%02d\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday);
// 输出星期
char *weekdays[] = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
printf("当前星期:%s\n", weekdays[timeinfo->tm_wday]);
// 输出时间
printf("当前时间:%02d:%02d:%02d\n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
return 0;
}
3、运行结果