Calcular dias úteis entre datas

Obrigado a todos pela valiosa ajuda.

Acho que isso atende ao que você precisa.
Você pode copiar este código e executá-lo em uma blank para ajustar ao que precisa.

//DATA INICIAL
$data_1=‘2016-02-09’;
//INCREMENTO DE DIAS A DATA INICIAL
$add_dias=80;
//CONTADOR DE FERIADOS
$contador=0;
//ARRAY COM FERIADOS
$feriados_array = array(‘2016-01-01’, ‘2016-02-09’, ‘2016-03-25’, ‘2016-03-27’, ‘2016-04-25’,
‘2016-26-01’, ‘2016-05-26’, ‘2016-06-10’, ‘2016-06-13’);
//TRATAMENTO DA DATA FINAL
$data_2=date_create($data_1);
date_add($data_2,date_interval_create_from_date_string("$add_dias day"));
$data_2=date_format($data_2,“Y-m-d”);

//LAÇO DE REPETIÇÃO DE INCREMENTO E COMPARAÇÃO ENTRE DATAS
while($data_1 < $data_2){

if (in_array($data_1, $feriados_array)) { 
	$contador++;
}
//TRATAMENTO E INCREMENTO DA DATA INICIAL
$data_1=date_create($data_1);
date_add($data_1,date_interval_create_from_date_string("1 day"));
$data_1=date_format($data_1,"Y-m-d");

}
$data_2=date_create($data_2);
date_add($data_2,date_interval_create_from_date_string("-$contador day"));
$data_2=date_format($data_2,“Y-m-d”);

echo ‘DATA DO AGENDAMENTO = ‘.$data_1.’ - ‘.$contador.’ DIA
’;
echo ‘DATA DO AGENDAMENTO = ‘.$data_2.’
’;

encontrei esta rotina que permite retirar apenas os fins e semana:
//get current month for example
$beginday = “2019-10-01”;
$lastday = “2019-10-31”;

$nr_work_days = getWorkingDays($beginday, $lastday);
echo $nr_work_days;

function getWorkingDays($startDate, $endDate)
{
$begin = strtotime($startDate);
$end = strtotime($endDate);
if ($begin > $end) {
echo "startdate is in the future!
";

    return 0;
} else {
    $no_days  = 0;
    $weekends = 0;
    while ($begin <= $end) {
        $no_days++; // no of days in the given interval
        $what_day = date("N", $begin);
        if ($what_day > 5) { // 6 and 7 are weekend days
            $weekends++;
        };
        $begin += 86400; // +1 day
    };
    $working_days = $no_days - $weekends;

    return $working_days;
}

}

1 Curtida