<P><style>td { font-family: 宋体; font-size:9pt}</style><body bgcolor=eeeeee><table width=180 cellpadding=0 cellpacing=1 bgcolor=dddddd align=center><% 'A seguir está o código específico implementado por este algoritmo de calendário em ASP</P><P> 'Primeiro determine se um ano e mês são especificados, se não, exiba o If com base no ano e mês atuais Request(ReqDate)= then CurrentDate=Dateelse CurrentDate=Trim(Request(ReqDate))end ifpyear=year(CurrentDate)pmonth=month(CurrentDate)</P><P> 'O código a seguir gera o conteúdo do cabeçalho da tabela para exibição do calendário % > <tr alinhar=ESQUERDA bgcolor=#dddddd> <td largura=14% altura=19 alinhar=centro> <tipo de entrada=botão value=<< onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,-1,CurrentDate) %>'></td> <td colspan=5 align=center> <%=pyear% >Ano<%=pmês%>Mês</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 % altura=19> dia</td> <td largura=14%> um</td> <td largura=14%> dois</td> <td largura=14%> três</td> <td width=14%> quatro</td> <td width=14%> cinco</td> <td width=14%> seis</td> </tr> <tr align=center bgcolor=ffffff altura=19> <% 'Como não existe uma função no ASP para obter o número de dias de um determinado mês, precisamos usar outros algoritmos para obtê-lo. O algoritmo é na verdade muito simples, que consiste em calcular o número total de dias entre o primeiro dia. mês a ser exibido e o primeiro dia do mês seguinte fromDate = FormatDateTime(month(CurrentDate) & /1/ & year(CurrentDate))toDate = FormatDateTime(DateAdd(m,1,fromDate))'Obtém o dia da semana quando o primeiro dia do mês a ser exibido é nunmonthstart=weekday(fromDate)-1'Obtém o número total de dias entre o primeiro dia a ser exibido e o primeiro dia do próximo mês (quantos dias existem no mês)nunmonthend=DateDiff(d,fromDate,toDate)' Determine quantas linhas de tabelas precisam ser usadas para exibir o calendário (cada linha exibe 7 dias ) se nunmonthstart+nunmonthend<36 then maxi=36else maxi=43end if'Loop para gerar a tabela e exibir i=1do while i<maxi iv=i-nunmonthstart if i>nunmonthstart e i<=nunmonthend+nunmonthstart then 'Se o que for exibido é hoje Em seguida, exiba-o com um fundo vermelho se iv=Dia(agora) e mês(agora)=pmês e ano(agora)=pano então resposta.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>) fim se senão resposta.write( <td> </td>) fim se</P><P> 'Se for divisível por 7 (exibir 7 por linha), produza uma nova linha se i mod 7=0 então response.write( </tr><tr align=center bgcolor=ffffff height=19>) end if i=i +1loop%></table></body>