En esta entrada vamos a ver una función encargada de calculcar el número de dias desde una fecha dada hasta el momento actual. La particularidad de esta función es que no «contaremos» ni los fines de semana ni los dias de vacaciones que hayamos introducido previamente.
Sin más dilación pasemos a ver la función y vamos a analizarla con más detalle posteriormente.
[snippet slug=calcula-dias-sin-fines-de-semana-ni-vacaciones lang=php]
En el código podeis ver los pasos para conseguir nuestro objetivo.
- Pasamos fecha inicial
- Cálculamos fecha y tiempo actual.
- Cálculamos el itnervalo con «diff» y obtenemos un primer valor de «dias»
- Luego, calculamos el periodo donde poder iterar mediante «DatePeriod» y pasandole P1D para que haga periodos de 1 día.
- Iteramos por el periodo y le quitamos los fines de semana (Sat y Sun) y si hemos alimentado el array vacaciones, las vacaciones.
- Devolvemos el número de dias ya descontado.
Espero que os sirva de ayuda.