计算两个日期之间的工作日

时间:2020-04-30 07:40:25

标签: php

我想计算一个工作日中有多少天。但它返回“未捕获的错误:在整数上调用成员函数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);
}

1 个答案:

答案 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";

?>

相关问题