这个问题的公认答案是:计算工作日是错误的。只需检查
echo getWorkingDays("2012-01-01","2012-05-01",$holidays);
问题出在这个片段上:
$days = ($endDate - $startDate) / 86400 + 1;
所以最小的不工作的例子是:
为什么这个表达式:
($endDate - $startDate) / (60*60*24);
不是整数:
$startDate = strtotime("2012-01-01");
$endDate = strtotime("2012-05-01");