我想计算一个工作日中有多少天。但它返回“未捕获的错误:在整数上调用成员函数add()”。
这是我的代码
$dateStart_convert = DateTime::createFromFormat("d/m/Y", $cuti_sdate);
$start = $dateStart_convert->getTimestamp();
$dateEnd_convert = DateTime::createFromFormat("d/m/Y", $cuti_edate);
$end = $dateEnd_convert->getTimestamp();
$oneday = new DateInterval("P1D");
$workdays = array();
foreach(new DatePeriod($start, $oneday, $end->add($oneday)) as $day)
{
$day_num = $day->format("N"); /* 'N' number days 1 (mon) to 7 (sun) */
if($day_num < 6)
{
$workdays[] = $day->format("Y-m-d");
}
$weekday_date = array_merge(array_diff($workdays, $cuti_date));
$c_weekday = count($weekday_date);
}
答案 0 :(得分:0)
使用此:)
Unrecognized FormData part
/ *从$ start迭代到$ end + 1天,每次迭代中的一天。 我们将$ end日期添加了一天,因为DatePeriod最多迭代一次, 不包括结束日期。 * /
<?php
$start = new DateTime($startDate);
$end = new DateTime($endDate);
$oneday = new DateInterval("P1D");
$days = array();
$data = "7.5";
?>