在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天。