答案 0 :(得分:1)
我会以另一种方式看待它。
1)为了使它成为第一个工作日,它必须是该月的第一天,第二天或第三天。
2)如果是第一天,你可以直接检查它是否是工作日(N = 1-5)。
3)如果它是第二个或第三个,那么为了成为第一个工作日,过程日必须不是工作日。所以,检查它是否是星期一。
function isFirstWeekday($dateObject) {
switch($dateObject->format('j')) {
case 1:
return $dateObject->format('N') <= 5;
case 2:
case 3:
return $dateObject->format('N') == 1;
default:
return false;
}
}