封装函数来打印输入年月1号到1900-1-1是多少天,以及打印每个月的日历。

//定义函数计算平润年

function isLeapYear(year){

return year%4===0&&year%100!==0||year%400===0;//这个会返回布尔值,成立则true不成立则false,所以下次调用的时候可以声明一个变量将其存放起来

}

//定义函数计算某年某月有多少天

function caleMonthDays(year,month){

//首先会用到判断输入的年是闰年还是平年

//这里采用switch结构

var days;//存放每个月的天数

switch(month){

case 2:

days=isLeapYear(year)? 29:28;

break;

case 4:

case 6:

case 9:

case 11:

days=30;

break;//以后注意哦

default:

days=31;

}

return days;

}

//定义函数计算输入某年某月1号是当年得第几天

function caleTotalDays(year,month){

var totaldays=1;

var days=0;

//使用循环来累加你输入的月之前所有月的天数

for(var i=1;i

days=caleMonthDays(year,i);

totaldays+=days;

}

return totaldays;

}

/*       console.log(caleTotalDays(2017,10));*/

//定义函数计算1900-1-1到输入某年的1-1号有多少天

function caleYearDays(year,month){

var totaldays=caleTotalDays(year,month);

for(var i=1900;i

totaldays+=isLeapYear(i)? 366:365;

}

return totaldays;

}

/*  console.log(caleYearDays(1902,10));*///为了验证*/

//定义函数输入某年某月某日是星期几

function weekDay(year,month){

return caleYearDays(year,month)%7;

}

/*console.log(weekDay(1902,10));*/

//定义函数打印日历表

function calenDer(year,month){

var calender="日\t一\t二\t三\t四\t五\t六\n";

//控制空格

var week=weekDay(year,month);

for(var i=1;i<=week;i++){

calender+="\t";

}

var k=caleMonthDays(year,month);

for(var i=1;i<=k;i++){

calender+=i+"\t";

if((week+i)%7===0){

calender+="\n";

}

}

return calender;

}

//打印输入年的所有日历

for(var i=1;i<=12;i++){

console.log("第"+i+"月日历:\n"+calenDer(2017,i));

console.log("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

}

你可能感兴趣的:(封装函数来打印输入年月1号到1900-1-1是多少天,以及打印每个月的日历。)