//定义函数计算平润年
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("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
}