其实时间采用的是计算机起始时间1970年1月1日(纪元时间)。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int months[2][13] = {
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
void Input(int *year,int *month) //输入年和月
{
printf("请输入年/月:");
scanf("%d/%d",year,month);
}
int IsLeapYear(int year) //判断是不是闰年
{
return ((year%4==0 && year%100!=0) || (year%400==0));
}
int FirstDayOfYear(int year,int month) //返回当前年的第一天是周几
{
int total = 0;
int i = 0;
for(i = 1970;i < year;i++)
total += 365 + IsLeapYear(i);
return (4 + total) % 7;
}
int FirstDayOfMonth(int FirstDay_y,int year,int month) //返回当前年当前月是周几
{
int total = 0;
int i = 0;
for(i = 1; i < month; i++)
{
total += months[IsLeapYear(year)][i];
}
return (FirstDay_y + total)%7;
}
void DisPlay(int FirstDay_m,int year,int month) //显示当前年当前月的日历
{
int i = 0;
printf("Sun Mon Tue Wed Thu Fir Sat\n");
for(i = 0; i < FirstDay_m; i++)
{
printf(" "

这篇博客介绍了如何使用C语言来实现一个简单的日历功能,基于计算机的纪元时间1970年1月1日。文章可能涵盖了时间转换、日期计算等技术,并展示了最终的执行结果。
最低0.47元/天 解锁文章
632

被折叠的 条评论
为什么被折叠?



