怎么用手指算出某年某月某日是星期几呢

怎么用手指算出某年某月某日是星期几呢?之前见人算过,很像电视剧古代的人算命的掐指一算...

week=6;//2000年元旦是星期六
//每年365天,即每年星期数加1;
week
+=
year-2000;
if(year<2000){
for(i=year;i<2000;i--)
{
if((
y%4==0
&&
y%100!=0)
||
y%400==0))
week--;
}
}
else
{
for(i=2000;i<year;i++)
{
if((
y%4==0
&&
y%100!=0)
||
y%400==0)
)
week++;
}
}
for(i=0;i<month;i++)
week
+=
month_day[i];
if(if((
y%4==0
&&
y%100!=0)
||
y%400==0)
month>=2)
week++;
week
+=
day;
week
=
week%7;//0
=星期日
//以上计算,在2000分界处不完整,自己改进,思路如此,如果想省掉,可手算-32768年的星期,然后只算算加法,但要在中间%7一次,防止数据越界。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-02
week=6;//2000年元旦是星期六
//每年365天,即每年星期数加1;

week += year-2000;
if(year<2000){
for(i=year;i<2000;i--)
{
if(( y%4==0 && y%100!=0) || y%400==0)) week--;
}
}
else
{
for(i=2000;i<year;i++)
{
if(( y%4==0 && y%100!=0) || y%400==0) ) week++;
}
}
for(i=0;i<month;i++)
week += month_day[i];

if(if(( y%4==0 && y%100!=0) || y%400==0) month>=2) week++;
week += day;
week = week%7;//0 =星期日

//以上计算,在2000分界处不完整,自己改进,思路如此,如果想省掉,可手算-32768年的星期,然后只算算加法,但要在中间%7一次,防止数据越界。本回答被网友采纳
相似回答