方法: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>