PHP – Date – Sumar días hábiles
Función que suma un numero determinado de días hábiles a una fecha en formato yyyy-mm-dd.
No tiene en cuenta los sábados y domingos y se utiliza la función getDiasFetivos donde se han de indicar los dias festivos del año.
La fecha original no se modifica y devuelve la nueva fecha con los días sumados.
/** * Class HelperDate */ abstract class HelperDate { /** * Suma un número de dias habiles (positivo) a una fecha * Se salta los dias festivos del mismo año * (cuidado con el cambio de año) * Formato de fecha: yyyy-mm-dd * * @param string $fecha * @param int $dias * * @return string */ public static function sumarDiasHabiles($fecha, $dias) { if ($dias < 0) { return null; } $reales = 0; for ($n = 1; $n <= $dias; $n++) { do { $reales++; $fecha = HelperDate::sumarDiasNaturales($fecha, 1); $wd = HelperDate::getDayOfWeek($fecha); /* Es mayor que el viernes o es festivo */ } while ($wd > 5 || in_array($fecha, self::getDiasFetivos())); } return ($fecha); } /** * Devuelve los días festivos * @return array */ public static function getDiasFetivos() { return []; } }
Funciones relacionadas
- HelperDate::sumarDiasNaturales : Sumar dias naturales a una fecha formato yyyy-mm-dd
- HelperDate::getDayOfWeek : Devolver el número del día de la semana