Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,两个日期范围内有多少个工作日和周末重叠?_Php_Date_Datetime_Compare_Overlap - Fatal编程技术网

在PHP中,两个日期范围内有多少个工作日和周末重叠?

在PHP中,两个日期范围内有多少个工作日和周末重叠?,php,date,datetime,compare,overlap,Php,Date,Datetime,Compare,Overlap,此函数返回两个日期范围重叠的天数: function datesOverlap($start_one,$end_one,$start_two,$end_two) { if($start_one <= $end_two && $end_one >= $start_two) { //If the dates overlap return min($end_one,$end_two)->diff(max($start_two,$start_on

此函数返回两个日期范围重叠的天数:

function datesOverlap($start_one,$end_one,$start_two,$end_two) {

   if($start_one <= $end_two && $end_one >= $start_two) { //If the dates overlap
        return min($end_one,$end_two)->diff(max($start_two,$start_one))->days + 1; //return how many days overlap
   }

   return 0; //Return 0 if there is no overlap
}
我想知道的是具体有多少个工作日和多少个周末


性能方面的最佳方法是什么?

您能否提供一个测试用例,说明如何构造此函数的参数?@vallismortis例如:$d1=new DateTime2015-07-01$d2=新日期时间2015-07-08$d3=新日期时间2015-07-05$d4=新日期时间2015-07-18;echo datesOverlap$d1、$d2、$d3、$d4;结果是4天。