Sumar y restar fechas en javascript

12/06/2005 - 11:10 por Trompi | Informe spam
Pretendo sumar o restar días a una fecha dada.
Por ejemplo, partiendo de que
dia# , mes , año 05
cómo resto, por ejemplo, 46 días a esta fecha.

Gracias.

Preguntas similare

Leer las respuestas

#1 Luis Caro
12/06/2005 - 16:21 | Informe spam
En Excel si la Fecha está en A1,y quieres obtener el resultado en b1,la
Formula sería:
¡-46
Espero sea esto lo que preguntas,pues estas en el Grupo equivocado.

Cordialmente
Luis Caro

No somos 3.Quitar NOSPAMEPM.Poner epm.y el resto
http://usuarios.lycos.es/maderascolombianas2/
http://www.geocities.com/maderascolombianas2002

"Trompi" escribió en el mensaje
news:
Pretendo sumar o restar días a una fecha dada.
Por ejemplo, partiendo de que
dia# , mes , año 05
cómo resto, por ejemplo, 46 días a esta fecha.

Gracias.


Respuesta Responder a este mensaje
#2 Fernando Fernández
13/06/2005 - 13:08 | Informe spam
Hola :))
Te adjunto el código que yo empleo... la rutina que pides no la tenía hecha,
la he hecho hace unos minutos. No la he probado, pero la idea la tienes.

También supongo que debe haber un modo más sencillo, pero ese modo lo
desconozco por el momento y este salva la situación.

La función DIAS_MES está aparte porque supongo que algún día la modificaré
para que tenga en cuenta si el años es o no bisiesto (habrá que pasarle otro
parámetro: el año). También hay una rutina para restar fechas que sí que
empleo y que sí que funciona.

En fin, espero haberte ayudado.
Fernando, desde Palma de Mallorca




/* -

FUNCION: DIAS_MES
DESCRIP: Devuelve los días del mes pasado por parámetro.
NOTA: No tiene en cuenta los años bisiestos.

- */
function dias_mes(xMes) {
switch(xMes) {
case 1: return 31;
case 2: return 28;
case 3: return 31;
case 4: return 30;
case 5: return 31;
case 6: return 30;
case 7: return 31;
case 8: return 31;
case 9: return 30;
case 10: return 31;
case 11: return 30;
case 12: return 31;
}

// Esperemos que no llegue aquí.
return 0;
}



/* -

FUNCION: SUB_DATES
DESCRIP: Resta fechas, la primera menos la segunda pasada por parámetro. El
resultado lo da en días.

- */
function SUB_DATES(xFecha1, xFecha0) {
return (xFecha1 - xFecha0) / 86400000;
}




/* -

FUNCION: SUB_DAYS_DATE
DESCRIP: Resta un número de días a una fecha.

- */
function SUB_DAYS_DATE(xFecha, xDias) {
var xDia = xFecha.getDate();
var xMes = xFecha.getMonth() + 1; // OJO!! El mes empieza por 0
var xAny = xFecha.getFullYear(); // Año con 4 cifras.

while(xDias >= xDia) {
xDias -= xDia;
xMes --;
if(xMes == 0) {
xMes = 12; // Diciembre
xAny --; // del año anterior.
}
xDia = dias_mes(xMes); // Días del mes.
}

return new Date(xAny, xMes - 1, xDia - xDias); // El mes empieza en 0
}



Yo sé restar fechas
"Trompi" escribió en el mensaje
news:
Pretendo sumar o restar días a una fecha dada.
Por ejemplo, partiendo de que
dia# , mes , año 05
cómo resto, por ejemplo, 46 días a esta fecha.

Gracias.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida