<P><style>td { font-family: 宋体; font-size:9pt}</style><body bgcolor=eeeeee><table width=180 cellpadding=0 cellpacing=1 bgcolor=dddddd align=center><% 'El siguiente es el código específico implementado por este algoritmo de calendario en ASP</P><P> 'Primero determine si se especifican un año y un mes, si no, muestre el If basado en el año y mes actuales Request(ReqDate)= then CurrentDate=Dateelse CurrentDate=Trim(Request(ReqDate))end ifpyear=year(CurrentDate)pmonth=month(CurrentDate)</P><P> 'El siguiente código genera el contenido del encabezado de la tabla para la visualización del calendario % > <tr align=LEFT bgcolor=#dddddd> <td ancho=14% alto=19 align=centro> <tipo de entrada=botón value=<< onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,-1,CurrentDate) %>'></td> <td colspan=5 align=center> <%=pyear% >Año<%=pmes%>Mes</td> <td ancho=14% align=center> <tipo de entrada=valor del botón=>> onclick=JavaScript:ubicación.href='?ReqDate=<%=DateAdd(m,1,CurrentDate)%>'></td> </tr> <tr align=center bgcolor=#CCCCCC> <td width=14 % altura=19> día</td> <td ancho=14%> uno</td> <td ancho=14%> dos</td> <td ancho=14%> tres</td> <td width=14%> cuatro</td> <td width=14%> cinco</td> <td width=14%> seis</td> </tr> <tr align=center bgcolor=ffffff altura=19> <% 'Dado que no existe una función en ASP para obtener el número de días en un mes específico, necesitamos usar otros algoritmos para obtenerlo. El algoritmo es en realidad muy simple, que consiste en calcular el número total de días entre el 1 del mes. mes que se mostrará y el día 1 del mes siguiente desde Fecha = FormatDateTime(mes(CurrentDate) & /1/ & año(CurrentDate))toDate = FormatDateTime(DateAdd(m,1,fromDate))'Obtiene el día de la semana cuando el primer día del mes que se mostrará es nunmonthstart=weekday(fromDate)-1'Obtiene el número total de días entre el primer día mostrado y el primer día del mes siguiente (¿Cuántos días hay en el mes?)nunmonthend=DateDiff(d,fromDate,toDate)' Determine cuántas filas de tablas se deben usar para mostrar el calendario (cada fila muestra 7 días ) si nunmonthstart+nunmonthend<36 then maxi=36else maxi=43end if'Loop para generar la tabla y mostrar i=1do while i<maxi iv=i-nunmonthstart if i>nunmonthstart and i<=nunmonthend+nunmonthstart then 'Si lo que se muestra es hoy Luego muéstrelo con un fondo rojo si iv=Día(ahora) y mes(ahora)=pmes y año(ahora)=paño luego respuesta.write( <td align=center bgcolor=ffaaaa><a href='#' target=_blank> & iv & </a></td>) else respuesta.write( <td align=center><a href='#' target= _blank> & iv & </a></td>) finaliza si no respuesta.write( <td></td>) finaliza si</P><P> 'Si es divisible por 7 (muestra 7 por línea), genera una nueva línea si mod 7=0 y luego respuesta.write( </tr><tr align=center bgcolor=ffffff height=19>) finaliza si i=i +1bucle%></table></body>