Foros del Web » Programando para Internet » ASP Clásico »

Manejo de fecha en una tabla

Estas en el tema de Manejo de fecha en una tabla en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/11/2010, 15:20
Avatar de 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
  #2 (permalink)  
Antiguo 24/11/2010, 14:37
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 10 meses
Puntos: 8
Respuesta: Manejo de fecha en una tabla

genere esto copia y pega en un documento .asp en blanco y pruebalo

diac = "15/11/2010" y dias = "17/12/2010" debes cambiarlos por tus variables que recojas


<%@LANGUAGE="VBSCRIPT"%>
<%'funcion para obtener el nombre del dia
function nomdia(fecha)
Session.LCID = 1034
'response.Write(fecha)
nomdia= weekdayname(weekday(fecha))
end function

Function LastDay(MyMonth, MyYear)
Session.LCID = 1034
Select Case MyMonth
Case 1, 3, 5, 7, 8, 10, 12
LastDay = 31
Case 4, 6, 9, 11
LastDay = 30
Case 2
If IsDate(MyYear & "-" & MyMonth & "-" & "29") Then LastDay = 29 Else LastDay = 28
Case Else
LastDay = 0
End Select
End Function
%>
<%
diac = "15/11/2010"
dias = "17/12/2010"

can_meses= 0
For Meses = month(diac) To month(dias)

can_meses = can_meses +1

Next



For A = Year(diac) To Year(dias)
diaspormes = 0
contador = 0
fechaS = 0
For M = month(diac) To month(dias)

diaspormes = LastDay(M, A)
contador = contador + 1



For D = Day(diac) To day(diaspormes+1)

fecha = D&"/"&m&"/"&A

Response.write(fecha&"--"&nomdia(fecha)&"<br>")

Next

Next
Next

%>
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:

Etiquetas: manejo, fechas, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:51.