Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2010, 15:20
Avatar de DanX03
DanX03
 
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 17 años, 2 meses
Puntos: 3
Manejo de fecha en una tabla

Hola que tal tengo el siguiente problema

Nececito generar una tabla en la cual tengo que colocar nombre del dia dada una fecha determinada por el usuario. El problema que tengo es a la hora de generar la fecha cuando a las fechas son de 2 meses distintos por ejemplo un reporte que va desde el15/11/2010 al 17/12/2010, el problema esta a la hora de sacar los nombres de los dias correspondientes al mes de diciembre he intentado lo siguiente:


Código ASP:
Ver original
  1. <%funcion para obtener el nombre del dia
  2. function nomdia(fecha)
  3.     if left(fecha,5)="32/01" or left(fecha,5)="32/03" or left(fecha,5)="32/05" or left(fecha,5)="32/07" or left(fecha,5)="32/08" or left(fecha,5)="32/10" then
  4.         m2=mid(fecha,4,2)+1
  5.         y=right(fecha,4)
  6.         fechaa="01/"&m2&"/"&y
  7.     elseif left(fechaa,5)="31/04" or left(fechaa,5)="31/06" or left(fechaa,5)="31/09" or left(fechaa,5)="31/11"then
  8.         m2=mid(fecha,4,2)+1
  9.         y=right(fecha,4)
  10.         fechaa="01/"&m2&"/"&y
  11.     elseif left(fechaa,5)="29/02" then
  12.         m2=mid(fecha,4,2)+1
  13.         y=right(fecha,4)
  14.         fechaa="01/"&m2&"/"&y
  15.     elseif left(fechaa,5)="32/12" then
  16.         m2=mid(fecha,4,2)+1
  17.         y2=right(fecha,4)+1
  18.         fechaa="01/"&m2&"/"&y2
  19.     end if
  20.     response.Write(fecha)
  21.     nomdia= weekdayname(weekday(fecha))
  22. end function
  23. %>
  24. <%
  25. 'parte en la que se genera la tabla
  26. while diac<=dias
  27.     fechaa=d1&"/"&m&"/"&y
  28.     if left(fechaa,5)="32/01" or left(fechaa,5)="32/03" or left(fechaa,5)="32/05" or left(fechaa,5)="32/07" or left(fechaa,5)="32/08" or left(fechaa,5)="32/10" then
  29.         d1=1
  30.     elseif left(fechaa,5)="31/04" or left(fechaa,5)="31/06" or left(fechaa,5)="31/09" or left(fechaa,5)="31/11"then
  31.         d1=1
  32.     elseif left(fechaa,5)="29/02" then
  33.         d1=1
  34.     elseif left(fechaa,5)="32/12" then
  35.         d1=1
  36.     end if
  37. %>
  38.     <td width="2%"><div align="center"><strong><%=d1%><br><%=nomdia(fechaa)%> &nbsp;</strong></div></td>
  39.     <%
  40.     d1=d1+1
  41.     diac=diac+1
  42.     wend
  43. %>

El promebla esta es que cuando llega al ultimo dia del mes y cambiar al primero del siguiente mes me marca como error que la fecha es incorrecta o que la operacion no es valida