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>&nbsp;</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>

 

posted @ 2009-11-30 20:56  坐看风起  阅读(756)  评论(0编辑  收藏  举报