Obter a data de ontem usando a função PHP date () é simples:
<?php
$lastWorkingDay = date( "d", strtotime("-1 day") );
?>
O problema começou quando o dia anterior foi a sexta-feira da semana anterior.
Para lidar com isso, basta pegar o dia da semana atual e alternar entre o valor coletado para voltar o número necessário de dias:
<?php
//get weekday, from 0 (sunday) to 6 (saturday)
$currentWeekDay = date( "w" );
switch ($currentWeekDay) {
case "1": { // monday
$lastWorkingDay = date("d", strtotime("-3 day"));
break;
}
case "0": { // sunday
$lastWorkingDay = date("d", strtotime("-2 day"));
break;
}
default: { //all other days
$lastWorkingDay = date("d", strtotime("-1 day"));
break;
}
}
?>