计算没有周末的2个日期之间的天数[重复]

Posted

技术标签:

【中文标题】计算没有周末的2个日期之间的天数[重复]【英文标题】:Calculate number of days between 2 dates without weekends [duplicate] 【发布时间】:2017-03-20 15:01:09 【问题描述】:

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

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

$timeDiff = abs($timestamp1 - $timestamp2);
$numberDays = $timeDiff/86400;
$numberDays = intval($numberDays);

它工作得很好,但我想知道是否有办法在计算中排除周末。

我在网上环顾四周,发现了一些替代选项,但代码比我上面的要多得多,所以我想问是否有像我上面的例子那样代码最少的选项?

【问题讨论】:

这可能对你有帮助 ***.com/questions/12365461/…. 【参考方案1】:

这是我用的:

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;

【讨论】:

以上是关于计算没有周末的2个日期之间的天数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

计算日期之间的天数,不计算周六和周日[重复]

Java,计算两个日期之间的天数[重复]

oracle怎么计算两个日期之间去除周末的天数?

用PHP计算日期和今天之间的天数[重复]

在html中计算两个输入类型=“日期”之间的天数[重复]

如何计算两个日期之间的小数天数[重复]