<script>
//1980.1.1星期二 闰年
function decide(date){ //判断星期几
var currentYear,currentMonth,currentDay,x,y;//当前年月日
var count,days,q,isLeapYear;//count:闰年计数 days:此年此月前共有多少天 q:从1980年至今总天数并用7取模
days = 0;
q =0;
count = 0;
currentYear = parseInt(date/10000);
x = date%10000;
currentMonth = parseInt(x/100);
currentDay = x%100;
if(currentYear>1980){
y = currentYear-1-1980;
count = parseInt(y/4)+1;
}
//判断当月之前共有多少天
function sum(a){
switch(currentMonth-1){
case 11:days += 30;
case 10:days += 31;
case 9:days += 30;
case 8:days += 31;
case 7:days += 31;
case 6:days += 30;
case 5:days += 31;
case 4:days += 30;
case 3:days += 31;
case 2:
if(isLeapYear){
days += 29;
}else{
days += 28;
}
case 1:days += 31;
}
return days;
}
//判断星期几
function week(a){
switch(q){
case 0:console.log("星期一");break;
case 1:console.log("星期二");break;
case 2:console.log("星期三");break;
case 3:console.log("星期四");break;
case 4:console.log("星期五");break;
case 5:console.log("星期六");break;
case 6:console.log("星期日");break;
}
}
if((currentYear%4==0 && currentYear%100!=0) || currentYear%400==0){
isLeapYear = true;
days = sum(currentMonth);//函数调用
}else{
isLeapYear = false;
days = sum(currentMonth);//函数调用
}
q=(days+currentDay+(y+1)*365+count)%7;
week(q);//函数调用
}
decide(20210326);//函数调用
</script>
js实现已知某年某月某日是星期几,输入一个年月日(1980~2030),求得该日为星期几<script> //1980.1.1星期二 闰年 function decide(date){ //判断星期几 var currentYear,currentMonth,currentDay,x,y;//当前年月日 var count,days,q,isLeapYear;//count:闰年计数 days:此年此月前共有多少天 q:从1980年至今总天数并用7取模