<P><style>td { font-family: 宋體; font-size:9pt}</style><body bgcolor=eeeeee><table width=180 cellpadding=0 cellspacing=1 bgcolor=dddddd align=center><% '以下為ASP中透過此日曆演算法實現的具體代碼</P><P> '先判斷是否指定了一個年份和月份,沒有則根據當前的年和月份顯示If Request(ReqDate)= then CurrentDate=Dateelse CurrentDate=Trim(Request(ReqDate))end ifpyear=year(CurrentDate)pmonth=month(CurrentDate)</P><P> '以下的程式碼產生日曆顯示的表格頭內容% > <tr align=LEFT bgcolor=#dddddd> <td width=14% height=19 align=center> <input type=button value=<< onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,-1,CurrentDate) %>'></td> <td colspan=5 align=center> <%=pyear%>年<%=pmonth%>月</td> <td width=14% align=center> <input type=button value=>> onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,1,CurrentDate)%>'></td> </tr> <tr align=center bgcolor =#CCCCCC> <td width=14% height=19> 日</td> <td width=14%> 一</td> <td width=14%> 二</td> <td width=14%> 三</td> <td width=14%> 四</td> <td width=14%> 五</td> <td width= 14%> 六</td> </tr> <tr align=center bgcolor=ffffff height=19> <% '由於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=36else maxi=43end if'循環產生表格並顯示i=1do 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 then response.write( <td align=center bgcolor=ffaaaa><a href='#' target=_blank> & iv & </a></td>) else response.write( <td align=center><a href='#' target=_blank> & iv & </a></td>) end if else response.write( <td> </td>) end if</P><P> '如果能被7整除(每行顯示7個)則輸出一個換行if i mod 7=0 then response.write( < /tr><tr align=center bgcolor=ffffff height=19>) end if i=i+1loop%></table></body>