js实现已知某年某月某日是星期几,输入一个年月日(1980~2030),求得该日为星期几

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取模   
				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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值