其实时间采用的是计算机起始时间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)