一.问题描述
判断是否是闰年;然后把过的月份的天数相加,在加上最后的天数;闰年比平年二月多一天。
二.结题思路
1.先输入 年/月/日
var year = prompt("请输入年份:")
year = parseInt(year)
var month = prompt("请输入月份:")
month = parseInt(month)
var day = prompt("请输入天数:")
day = parseInt(day)
2.用函数判断出输入的年月日是这一年中的那一天;定义一个date为零,就是来收取天数的。
function numberOfDays() {
if (month == 1) {
date = day
}
if (month == 2) {
date = 31 + day
}
if (month == 3) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + day
} else {
date = 31 + 28 + day
}
}
if (month == 4) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + day
} else {
date = 31 + 28 + 31 + day
}
}
if (month == 5) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + day
}
}
if (month == 6) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + day
}
}
if (month == 7) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + day
}
}
if (month == 8) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day
}
}
if (month == 9) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + day
}
}
if (month == 10) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
}
}
if (month == 11) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
}
}
if (month == 11) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
}
}
}
3.等到加第二个月天数的时候就要判断是否是闰年了;是闰年29天,不是则为28天
if (month == 3) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + day
} else {
date = 31 + 28 + day
}
}
4.把函数值返回,并输出
numberOfDays(year,month,day)
document.write("第"+date+"天")
三.重难点分析
1.判断年是否是闰年在哪里判断;以及过去月份的天数加上本月天数
四.完整源码
var year = prompt("请输入年份:")
year = parseInt(year)
var month = prompt("请输入月份:")
month = parseInt(month)
var day = prompt("请输入天数:")
day = parseInt(day)
//
date=0
function numberOfDays(year,month,day) {
if (month == 1) {
date = day
}
if (month == 2) {
date = 31 + day
}
if (month == 3) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + day
} else {
date = 31 + 28 + day
}
}
if (month == 4) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + day
} else {
date = 31 + 28 + 31 + day
}
}
if (month == 5) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + day
}
}
if (month == 6) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + day
}
}
if (month == 7) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + day
}
}
if (month == 8) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day
}
}
if (month == 9) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + day
}
}
if (month == 10) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
}
}
if (month == 11) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
}
}
if (month == 11) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
date = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
} else {
date = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
}
}
}
numberOfDays(year,month,day)
document.write("第"+date+"天")