<p><style>td { font-family: "宋体"; font-size:9pt}</style><body bgcolor="eeeeee"><%'以下为ASP中通过该日历算法实现的具体代码</p><p> '先判断是否指定了一个年份和月份,没有则根据当前的年和月份显示 If Request("ReqDate")="" then CurrentDate=Date else CurrentDate=Trim(Request("ReqDate")) end if pyear=year(CurrentDate) pmonth=month(CurrentDate)</p><p> '以下的代码生成日历显示的表格头内容%> <input type="button" value="<<" onclick="JavaScript:location.href='?ReqDate=<%=DateAdd("m",-1,CurrentDate) %>'"> <%=pyear%>年<%=pmonth%>月 <input type="button" value=">>" onclick="JavaScript:location.href='?ReqDate=<%=DateAdd("m",1,CurrentDate)%>'"> 日 一 二 三 四 五 六 <% '由于ASP中没有获取指定月共有多少天的函数,因此我们需要通过其他算法来获得,算法其实很简单,就是计算一下要显示月份的1日至下个月的1日一共相差几天 fromDate = FormatDateTime(month(CurrentDate) & "/1/" & year(CurrentDate)) toDate = FormatDateTime(DateAdd("m",1,fromDate)) '获得要显示月份的第一天为周几 nunmonthstart=weekday(fromDate)-1 '获得要显示的1日至下个月的1日一共相差几天(月份一共有多少天) nunmonthend=DateDiff("d",fromDate,toDate) '判断显示日历需要用几行表格来显示(每行显示7天) if nunmonthstart+nunmonthend<36 then maxi=36 else maxi=43 end if '循环生成表格并显示 i=1 do while i<maxi iv=i-nunmonthstart if i>nunmonthstart and i<=nunmonthend+nunmonthstart then '如果为显示的是今天则用红色背景显示 if iv=Day(now) and month(now)=pmonth and year(now)=pyear thenresponse.write( "" & iv & "") elseresponse.write( "" & iv & "") end if else response.write( " ") end if</p><a href="http://m.tulaoshi.com/webkaifa/" style="position:absolute;left:-10000px;">(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)</a><p> '如果能被7整除(每行显示7个)则输出一个换行 if i mod 7=0 then response.write( "") end if i=i+1 loop%></body> (本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)