c语言 怎么算某年某月某日是星期几啊?
來源:互聯網-02-07 07:03:07評論
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
問題描述:
我哪年是闰年,每月有几天都会算了,但就是星期几不知道怎么算,谁能告诉我啊,谢谢啊!
參考答案:
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
{
if(( y%4==0 && y%100!=0) || y%400==0) ) week++;
}
}
for(i=0;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一次,防止数据越界。
[b]分类:[/b] 电脑/网络 >> 程序设计 >> 其他编程语言[br][b]问题描述:[/b][br]我哪年是闰年,每月有几天都会算了,但就是星期几不知道怎么算,谁能告诉我啊,谢谢啊![br][b]参考答案:[/b][br]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
{
if(( y%4==0 && y%100!=0) || y%400==0) ) week++;
}
}
for(i=0;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一次,防止数据越界。