一、大纲
1.利用函数来判断闰月
2.定义一个总天数
3.利用switch函数来列出每月天数然后再进行判断和输出
4.声明变量
5.利用函数的调用来输出
二、思路和步骤
1.利用函数来判断闰月
function isLeapYear(year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
} else {
return false;
}
}
2.定义一个总天数
//定义一个总天数
var days = 0
3.利用switch函数来列出每月天数然后再进行判断和输出
function getDaysByDate(year, month, day) {
//定义一个总天数
var days = 0
switch (month) {
case 12:
//11月的天数
days += 30
case 11:
//10月的天数
days += 31
case 10:
//9月的天数
days += 30
case 9:
//8月的天数
days += 31
case 8:
//7月的天数
days += 31
case 7:
//6月的天数
days += 30
case 6:
//5月的天数
days += 31
case 5:
//4月的天数
days += 30
case 4:
//3月的天数
days += 31
case 3:
//2月的天数
days += isLeapYear(year) ? 29 : 28
case 2:
//1月的天数
days += 31
case 1:
//当前月的天数
days += day
break
default:
break;
}
return days
}
4.声明变量
//声明变量
var year = parseInt(prompt("请输入一个年份:"))
var month = parseInt(prompt("请输入一个月份:"))
var day = parseInt(prompt("请输入一个天:"))
var result = getDaysByDate(year,month,day)
5.利用函数的调用来输出
document.write( year + "年" + month + "月" + day + "日是本年的第"+result+"天")
三、全部代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
//使用函数完成给定日期2024 04 20 这一天是本年中的第几天
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:
//11月的天数
days += 30
case 11:
//10月的天数
days += 31
case 10:
//9月的天数
days += 30
case 9:
//8月的天数
days += 31
case 8:
//7月的天数
days += 31
case 7:
//6月的天数
days += 30
case 6:
//5月的天数
days += 31
case 5:
//4月的天数
days += 30
case 4:
//3月的天数
days += 31
case 3:
//2月的天数
days += isLeapYear(year) ? 29 : 28
case 2:
//1月的天数
days += 31
case 1:
//当前月的天数
days += day
break
default:
break;
}
return days
}
//声明变量
var year = parseInt(prompt("请输入一个年份:"))
var month = parseInt(prompt("请输入一个月份:"))
var day = parseInt(prompt("请输入一个天:"))
var result = getDaysByDate(year,month,day)
document.write( year + "年" + month + "月" + day + "日是本年的第"+result+"天")
</script>
</head>
<body>
</body>
</html>