Calcular numero de dÃas laborales entre 2 fechas
Queridos amigos:
Tengo el siguiente problema:
Desde el teclado un usuario ingresara 2 fechas en el formato "dd/mm/aaaa" y necesito poder contar el numero de dÃas laborales (lunes a viernes) que hay entre esas 2 fechas.
Hasta ahora solo se contar el numero total de dÃas que hay entre 2 fechas pero no se como poder restarle los sabados y domingos para obtener solo los dÃas laborales.
Por ejemplo:
Fecha 1: 29/09/2004
Fecha 2: 05/10/2004
El resultado correcto seria: 5 dÃas laborales
Espero alguien pueda ayudarme.
Saludos
Tengo el siguiente problema:
Desde el teclado un usuario ingresara 2 fechas en el formato "dd/mm/aaaa" y necesito poder contar el numero de dÃas laborales (lunes a viernes) que hay entre esas 2 fechas.
Hasta ahora solo se contar el numero total de dÃas que hay entre 2 fechas pero no se como poder restarle los sabados y domingos para obtener solo los dÃas laborales.
Por ejemplo:
Fecha 1: 29/09/2004
Fecha 2: 05/10/2004
El resultado correcto seria: 5 dÃas laborales
Espero alguien pueda ayudarme.
Saludos
Hola, Andrea
La función getDay() te devuleve el dÃa de la semana (0=domingo, 7=sábado)
Por tanto, yo harÃa algo asà como:
n1 = contar el nº de dÃas (restar fechas 2 y 1).
Divide n1 entre 7 y quédate con la parte entera = n2.
Resta los sábados y domingos correspondientes a las semanas enteras transcurridas: n3 = n1- 2*n2
Suma a la fecha 1 las semanas (dÃa1 + n2*7); recorre desde el dÃa resultante hasta la fecha 2, sumando uno sólo si getDay() no es 7 ni 0.
Siento no poder concretarlo más pero no tengo práctica con las funciones de fecha ni la forma de entrarlas. Espero que con estas ideas puedas resolverlo.
La función getDay() te devuleve el dÃa de la semana (0=domingo, 7=sábado)
Por tanto, yo harÃa algo asà como:
n1 = contar el nº de dÃas (restar fechas 2 y 1).
Divide n1 entre 7 y quédate con la parte entera = n2.
Resta los sábados y domingos correspondientes a las semanas enteras transcurridas: n3 = n1- 2*n2
Suma a la fecha 1 las semanas (dÃa1 + n2*7); recorre desde el dÃa resultante hasta la fecha 2, sumando uno sólo si getDay() no es 7 ni 0.
Siento no poder concretarlo más pero no tengo práctica con las funciones de fecha ni la forma de entrarlas. Espero que con estas ideas puedas resolverlo.