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

时间:2017-03-20 15:01:09

标签: php

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

<validation>
      <validate-on-match>true</validate-on-match>
      <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"></valid-connection-checker>
     <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter>
</validation>

它运作正常,但我想知道是否有办法在计算中排除周末。

我在网上看了一下,发现了一些替代选项,但是我的代码比我上面的代码多了很多,所以我问是否有一个像我上面的例子一样的最小代码选项?

1 个答案:

答案 0 :(得分: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;
}