JavaScript练习-----计算自己出生那天是该年的第几天

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41554071/article/details/89386016

思路

1.输入年份需要判断区别闰年、平年;
2.月份只能输入1-12的正整数;
3.日期需要根据年份和月份共同来确定判断正确性的条件:

  • 若是闰年则判断是否是2月,是则设置日期限制条件为1-29的数字;
  • 若是平年,则根据输入的月份设置对于的日期限制条件,如1月则对应日期限制条件为1-31的数字;

基于以上分析,把每月的天数设置为一个数组dayArr,方便调用和赋值。


代码实现

这里只贴出了JavaScript部分的代码,html页面没有写代码,只有最基本的body、html标签便没有贴出。


function get_year()
{
     var year = prompt("请输入你的出生年份");
     return year;
}

function get_month()
{
     var month = prompt("请输入你的出生月份");
     return month;
}


function get_date()
{
    var date = prompt("请输入你的出生日期");
    return date;

}


function myFun()
{
	var dayArr = [31,28,31,30,31,30,31,31,30,31,30,31];//存储每月有多少天
	var y = get_year();
	if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
	{
		dayArr[1] = 29;
	}//判断是否是闰年,如果是则2月改为29天。

    //月份输入正确性判断
	var m = get_month();
	while(m > 12||m < 1)
	{
		alert("月份只能为1-12的整数!");
		m = get_month();
	}

    //日期输入正确性判断
	var d = get_date();
	while(d < 1||d > dayArr[m-1])
	{
		alert(m+"月没有"+d+"号,请输入1-"+dayArr[m-1]+"的整数!");
		d = get_date();
	}


    //计算天数,m月出生则循环到m-1月,最后在加上m月的天数也就是d。
	var i, sum = 0;
	for(i = 1; i <= m-1; i++)
	{
		sum += parseInt(dayArr[i-1]);
	}

	sum += parseInt(d);
    alert("您的生日在"+ y +"年是第" + sum + "天。");
}

myFun();

猜你喜欢

转载自blog.csdn.net/qq_41554071/article/details/89386016