我有一段非常简单的代码,用于计算给定时间戳之间的天数:
<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>
它运作正常,但我想知道是否有办法在计算中排除周末。
我在网上看了一下,发现了一些替代选项,但是我的代码比我上面的代码多了很多,所以我问是否有一个像我上面的例子一样的最小代码选项?
答案 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;
}