计算没有周末的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个日期之间的天数[重复]的主要内容,如果未能解决你的问题,请参考以下文章