【发布时间】:2012-10-11 15:40:58
【问题描述】:
我有这个PHPfunction:
function calculateNextDate($startDate, $days)
{
$dateTime = new DateTime($startDate);
while($days) {
$dateTime->add(new DateInterval('P1D'));
if ($dateTime->format('N') < 6) {
$days--;
}
}
return $dateTime->format('Y-m-d');
}
它计算从给定天数的开始日期开始的日期,并跳过周末。
如果我回应这个:
echo calculateNextDate('2012-10-01', '10');
它将打印:
2012-10-15
这是错的...2012-10-01 + 10 个工作日是2012-10-12
知道为什么它会增加一天吗?
【问题讨论】:
-
2012-10-15 我觉得合适吗? 2012-10-12 将是第 9 个工作日。