方法一:
int const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; //月修正数据表
/*
*输入日期,得到星期几
*输入:year: 年
* month: 月
* day: 日
*返回:星期几
*0 1 2 3 4 5 6
*七 一 二 三 四 五 六
*/
int get_Week(int year,int month,int day)
{
int temp2;
int yearH,yearL;
yearH = year/100;
yearL = year%100;
if(yearH > 19)
{
yearL += 100;
}
temp2 = yearL+yearL/4;
temp2 = temp2%7;
temp2 = temp2+day+table_week[month-1];
if(yearL%4 == 0 && month < 3)
{
temp2--;
}
return temp2%7;
}
方法二:
/*
*输入日期,得到星期几
*输入:y:年
* m:月
* d:日
*返回:星期几
*0 1 2 3 4 5 6
*一 二 三 四 五 六 七
*/
int get_Week(int y,int m,int d)
{
int week = 0;
if(m==1 || m == 2)
{
m += 12;
y--;
}
week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
return week;
}