Php 计算两个日期之间没有周末的天数

Php 计算两个日期之间没有周末的天数,php,Php,我有一段非常简单的代码,可以计算到给定时间戳之间的天数: $timestamp1 = strtotime("2017-01-01"); $timestamp2 = strtotime("2017-01-05"); $timeDiff = abs($timestamp1 - $timestamp2); $numberDays = $timeDiff/86400; $numberDays = intval($numberDays); 这是完美的工作,但我想知道是否有一种方法,排除周末的计算 我在

我有一段非常简单的代码,可以计算到给定时间戳之间的天数:

$timestamp1 = strtotime("2017-01-01");
$timestamp2 = strtotime("2017-01-05");

$timeDiff = abs($timestamp1 - $timestamp2);
$numberDays = $timeDiff/86400;
$numberDays = intval($numberDays);
这是完美的工作,但我想知道是否有一种方法,排除周末的计算

我在网上查了一下,找到了一些备选方案,但代码比我上面的要多得多,所以我想问一下,是否有一个像我上面的例子那样代码最少的方案?

这就是我使用的:

function createDateRangeArray($strDateFrom,$strDateTo)
{
    $aryRange=array();

    $iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),     
              substr($strDateFrom,8,2),substr($strDateFrom,0,4));

    $iDateTo=mktime(1,0,0,substr($strDateTo,5,2),     
            substr($strDateTo,8,2),substr($strDateTo,0,4));

    if ($iDateTo>=$iDateFrom)
    {
        if(date("w", $iDateFrom) != 0 and date("w", $iDateFrom) != 6) {
            array_push($aryRange,date('Y-m-d',$iDateFrom)); 
        }
        while ($iDateFrom<$iDateTo)
        {
            $iDateFrom+=86400; // add 24 hours
            if(date("w", $iDateFrom) != 0 and date("w", $iDateFrom) != 6) {
                array_push($aryRange,date('Y-m-d',$iDateFrom));
            }
        }
    }
    return $aryRange;
}
函数createDateRangeArray($strDateFrom,$strDateTo)
{
$aryRange=array();
$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),
substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2),
substr($strDateTo,8,2),substr($strDateTo,0,4));
如果($iDateTo>=$iDateFrom)
{
如果(日期($w,$iDateFrom)!=0,日期($w,$iDateFrom)!=6){
数组推送($aryRange,date($Y-m-d',$iDateFrom));
}
虽然这可能对你有帮助。