已知日期,算改天是星期几?
我的思想是这样的:
以公元0年1月1日星期天为基准,算出要求的日期与该日期的天数差,然后再对7求模。
余数为0: 星期天
余数为1: 星期一
余数为2: 星期二
余数为3: 星期三
余数为4: 星期四
余数为5: 星期五
但是这个程序算出来的的星期数总会比当前星期数多1,麻烦各位帮我看看,谢谢。
#include
#include
#include
#include
#include
int leapyear(int year)
{
int flag = 0;
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
{
flag = 1;
}
return flag;
}
int tianshu(int year, int month, int day)
{
int thisYearFlag = 0;
int totalDay = 0;
int beforeYearDay = 0;
int thisYearDay = 0;
int i = 0;
for (i = 0; i
{
int yearFlag = leapyear(i);
if(1 == yearFlag)
{
beforeYearDay += 366;
}
else
{
beforeYearDay += 365;
}
}
switch (month - 1)
{
case 1:
thisYearDay = 31;
break;
case 2:
thisYearDay = 31 + 28;
break;
case 3:
thisYearDay = 31 + 31 + 28;
break;
case 4:
thisYearDay = 30 + 31 + 31 + 28;
break;
case 5:
thisYearDay = 31 + 30 + 31 + 31 + 28;
break;
case 6:
thisYearDay = 30 + 31 + 30 + 31 + 31 + 28;
break;
case 7:
thisYearDay = 31 + 30 + 31 + 30 + 31 + 31 + 28;
break;
case 8:
thisYearDay = 31 + 31 + 30 + 31 + 30 + 31 + 31 + 28;