Un calendario en ASP (Revision 3)


http://www.asptutor.com

 

Colaboración enviada por  Fernando Gutiérrez

 

 

Hola: En primer lugar enhorabuena por esa estupenda página de la que tan a menudo echo mano para salir de los atolladeros. El motivo de mi correo es el siguiente:

 
He necesitado incluir un calendario en mi página web y he recurrido al sólido ejemplo de David Cornadó, que aportaba entre otras cosas el formato latino L-M-X-J-V-S-D. Sin embargo, al ponerlo a trabajar he encontrado un pequeño problema:
 
Los meses cuyo primer día, día 1, debe comenzar en domingo aparecen comenzado la semana en erróneamente en lunes y trasladando, por tanto, el lugar de la semana del resto de los días del mes, también de forma errónea.
 
Estudiando el caso, en el formato original inglés, el día de la semana del primer día del mes se calcula con la función:
 
FirstDay = WeekDay(DateSerial(MyYear, MyMonth, 1)) -1
 
David, de forma ingeniosa y sencilla  cambia el cálculo de la función:
 
FirstDay = WeekDay(DateSerial(MyYear, MyMonth, 1)) -2
 
Y así compensa el cambio de lugar del domingo que pasa de ser el primer día de la semana, en el calendario anglosajón, al último lugar en el latino.
 
Pero falta compensar el día de la semana que ocupa el lugar del lunes, en este caso el domingo, pues la función obtiene para él el valor de -1.
 
Esto se compensa con este sencillo código que he introducido:
 
if firstday = -1 then
   firstday = 6
end if
 
Con el permiso de David, he decidido enviaros el paquete completo, con estas tres líneas de modificación en el fichero calendario.asp, al que he llamado "Un calendario en ASP (revision 3)"

Descargar el Código

 
Muchas gracias a todos. Os animo a seguir como hasta ahora con esta interesante web sobre ASP.
 
Un saludo
 
Fer.