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;
}
}
Sou iniciante no Scriptcase, como posso usar essa função dentro do onload, testei no blank e funcionou. dentro do onload da um erro:Parse error: syntax error, unexpected ‘{’ in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\SISBOB\form_spc_credito\form_spc_credito_apl.php on line 8014
Incluindo dias não úteis e feriados nacionais.