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

Fución restar fecha?

Estas en el tema de Fución restar fecha? en el foro de ASP Clásico en Foros del Web. Hola Gente! tengo un script que pasa la cantidad de días a restar mediante un string, y necesito que se inserte en la BD la ...
  #1 (permalink)  
Antiguo 04/03/2003, 16:59
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Fución restar fecha?

Hola Gente!

tengo un script que pasa la cantidad de días a restar mediante un string, y necesito que se inserte en la BD la fecha actual menos esta cantidad de días, lo he hecho así y no corre:
Dia=Day(Date)
Mes=Month(Date)
Anio=Year(Date)
sFecha=Anio & "/" & Mes & "/" & Dia

sCloseDate= CDate(sFecha, -idias)

Pueden ayudarme, el idias en un integer, que corresponde a un número elegido entre 1 y 30.

El error que me manda es:
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'CDate'

/prueba1.asp, line 20

?????
  #2 (permalink)  
Antiguo 04/03/2003, 22:41
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
sCloseDate= CDate(sFecha -idias)
  #3 (permalink)  
Antiguo 05/03/2003, 06:42
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Jose, ya había intentado convinaciones de este tipo pero el CDate me reconvertía la fecha al formato que no me acepta MySQL o sea mm/dd/yyyy, de modo que estoy en necesidad de no usar el CDate.

Aun asi al intentarlo me responde:
Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "2003/3/5"]'

/prueba1.asp, line 22


Esa linea 22:
sCloseDate= CDate(sFecha -idias)

Una idea para hacer esta resta pero que la respuesta este en formato yyyy/mm/dd ?????????


?????
Gracias.
  #4 (permalink)  
Antiguo 05/03/2003, 09:54
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Si no esta en formato de fecha para ASP no podrás restarle dias a una CADENA

Tendras que restarle el dia en el formato normal despues usar replace para cambiar los / por - y despues utilizar las funciones Day(), Month() y Year() para armar la fecha de acuerdo a mySQL
  #5 (permalink)  
Antiguo 05/03/2003, 22:11
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 5 meses
Puntos: 11
Gracias Jose, tenías razon, era simple.

Pongo el codigo por si alguien mas necesita esto en el futuro:
Doy formato a la fecha que quiero:
Dia=Day(Date)
Mes=Month(Date)
Anio=Year(Date)
sFecha=Anio & "/" & Mes & "/" & Dia

Este es el string que llega de la formula con los dias a restar
iDias=15
Esto es la resta:
sCloseDate= CDate(sFecha)-idias
Reformateo la fecha para obtenerla segun lo que necesita MySQL:
fechaformateada=year(sCloseDate) & "/" & month(sCloseDate) & "/" & day(sCloseDate)

Escribo las salidas para verificar:
Response.write sFecha
Response.write"<br>"
response.write sCloseDate
Response.write"<br>"
response.write fechaformateada
Response.write"<br>"


En el browser la respuestas son:
2003/3/5
2/18/2003
2003/2/18


Muchas gracias a todos los que me ayudaron!.
Son PURA VIDA!
un: para ustedes!
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:14.