输入年月日,计算这一天是该年的第几天第几周

本文介绍两种计算特定日期距离年初总天数的方法:一种使用switch-case语句结合不添加break的操作;另一种采用for循环遍历的方式。这两种方法均可帮助读者理解如何在JavaScript中灵活处理日期计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法:switch-case语句,省略break。

要点:月份要倒着写,并且每个case不添加break。

源代码如下

         <script>                                                                         
            var year=parseInt(prompt("输入年"));
			var month=parseInt(prompt("输入月"));
			var date=parseInt(prompt("输入日"));
			var sum=0;  //总天数
			switch(month){
				case 12:sum+=30;
				case 11:sum+=31;
				case 10:sum+=30;
				case 9:sum+=31;
				case 8:sum+=31;
				case 7:sum+=30;
				case 6:sum+=31;
				case 5:sum+=30;
				case 4:sum+=31;
				case 3:
				sum+=28;
				if(year%4==0&&year%100!=0||year%400==0){
					sum+=1;
				}
				case 2:sum+=31;
				case 1:sum+=date;
				break;
				default:
				alert("error");
				break;
			}
			alert(sum+"天");
			var week=Math.ceil(sum/7);
			alert(week+"周");
		</script>

方法:利用for循环遍历

源代码如下

            <script>                                                                      
                var year=parseInt(prompt('输入年'));
			    var month=parseInt(prompt('输入月'));
			    var day=parseInt(prompt('输入日'));
			    var sum=0;//总天数
			    for (var i=1;i<month;i++){
			        if (i===1||i===3||i===5||i===7||i===8||i===10||i===12){
			            sum+=31;
			        }
			        else if (i===4||i===6||i===9||i===11){
			            sum+=30;
			        }
			        else{
			            if (year%4===0&&year%100!==0||year%400===0){
			                sum+=29;
			            }
			            else {
			                sum+=28;
			            }
			        }
			    }
			   sum=day+sum;
			    alert(sum+"天");
				var week=Math.ceil(sum/7);
				alert(week+"周");

		</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值