js打印日历
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>日历</title> <script type="text/javascript"> var day; function init() { //获取系统当前时间 var current=new Date(); var year=current.getYear(); var month=current.getMonth()+1; var yearIndex; var monthIndex; //初始化年月 var dYear=document.getElementById("year"); var dMonth=document.getElementById("month"); for(var i=1970;i<2070;i++) { if(i==year) { yearIndex=dYear.length; } var op=new Option(i,i); dYear.options[dYear.length]=op; } for(var j=1;j<13;j++) { if(j==month) { monthIndex=dMonth.length; } var op=new Option(j,j); dMonth.options[dMonth.length]=op; } dYear.selectedIndex=yearIndex; dMonth.selectedIndex=monthIndex; printCanlender();
} //判断平年闰年 function isLeapYear(year) { return ((year%4==0 && year%100!=0) ||year%400==0)?1:0; } //判断指定的天数 function everyMonthDays(year,month) { var arr=[31,28,31,30,31,30,31,31,30,31,30,31]; if(year!=2||isLeapYear(year)==0) { return arr[month-1]; } return arr[month]+1; } //判断从公元元年到指定年第一天的天数 function partDays(year) { var days=365*year; for(var i=1;i<year;i++) { days+=isLeapYear(i); } return days; } //计算总天数 function totalDays(year,month) { var days=partDays(year); for(var i=1;i<month;i++) { days+=everyMonthDays(year,i); } return days; } //计算指定月第一天是星期几 function week(year,month) { var days=totalDays(year,month); return days%7; } //打印 function printCanlender() { var year=document.getElementById("year").options[document.getElementById("year").selectedIndex].value; var month=document.getElementById("month").options[document.getElementById("month").selectedIndex].value; var weekDay=week(year,month); //alert(weekDay); var days=everyMonthDays(year,month); day=1; var str="<table border='1' bordercolor='006699' style='border-collapse:collpase'><tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>";
for(var i=1;i<7;i++) { str+="<tr>"; for(var j=0;j<7;j++) {
if(j==weekDay) { str+="<td>"+day+"</td>"; weekDay++; day++; } else if(day<=days && day>1 ) { str+="<td>"+day+"</td>"; day++; } else { str+="<td> </td>"; } } str+="</tr>"; } str+="</table>"; divCan.innerHTML=str; } </script> </head>
<body onload="init()"> <div id="drop"> <span>年<select id="year" onchange="printCanlender()"></select></span><span>月<select id="month" onchange="printCanlender()"></select></span> </div> <div id="divCan"> </div> </body> </html> |