解题思路:
利用switch函数对每个月份天数进行分析 ;处理好闰年2月份天数。
主要步骤:
判断是否是闰年:
function isLeapYear(year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true
} else {
return false
}
}
处理月份之间的天数问题:
function getDaysByDate(year, month, day) {
var days = 0
switch (month) {
case 12:
days += 30
case 11:
days += 31
case 10:
days += 30
case 9:
days += 31
case 8:
days += 30
case 7:
days += 31
case 6:
days += 30
case 5:
days += 31
case 4:
days += 30
case 3:
days += isLeapYear(year)?29:28
case 2:
days += 31
case 1:
days += day
break;
default:
break;
}
if (isLeapYear(year)) {
days += 1
}
return days
}
重难点总结:
处理好闰年2月份的天数。
完整代码(源码):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function isLeapYear(year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true
} else {
return false
}
}
function getDaysByDate(year, month, day) {
var days = 0
switch (month) {
case 12:
days += 30
case 11:
days += 31
case 10:
days += 30
case 9:
days += 31
case 8:
days += 30
case 7:
days += 31
case 6:
days += 30
case 5:
days += 31
case 4:
days += 30
case 3:
days += isLeapYear(year)?29:28
case 2:
days += 31
case 1:
days += day
break;
default:
break;
}
if (isLeapYear(year)) {
days += 1
}
return days
}
var a=parseInt(prompt("请输入年份:"));
var b=parseInt(prompt("请输入月份:"));
var c=parseInt(prompt("请输入日期:"));
document.write(getDaysByDate(a,b,c))
</script>
</head>
<body>
</body>
</html>