php - 在不使用任何循环的情况下查找两个日期php之间的特定日期的计数?

标签 php date datetime

我需要找出两个日期之间特定日期的计数。 我可以通过在两个日期之间使用循环来做到这一点,但是如果日期之间存在 10 年的差异(假设),循环将运行 10*365 次。 有更简单的方法吗?
提前致谢

最佳答案

函数 countDays($day, $start, $end) {

$start = strtotime($start);
$end = strtotime($end);
$datediff = $end - $start;

$days =  floor($datediff / (60 * 60 * 24));


//get the day of the week for start and end dates (0-6)
$w = array( date('w', $start ), date('w', $end) );

//get partial week day count
if ($w[0] < $w[1])
{            
    $partialWeekCount = ($day >= $w[0] && $day <= $w[1]);
}else if ($w[0] == $w[1])
{
    $partialWeekCount = $w[0] == $day;
}else
{
    $partialWeekCount = ($day >= $w[0] 
    $day <= $w[1]); 
} 
//first count the number of complete weeks, then add 1 if $day falls in a partial week. 
return intval($days / 7) + $partialWeekCount; 

}

函数调用 - countDays( 5, "2017-04-14", "2017-04-21")

关于php - 在不使用任何循环的情况下查找两个日期php之间的特定日期的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43448587/

相关文章:

php - Laravel ClassLoader 包含一个不正确/旧的文件

php - 通过 .htaccess 进行 URL 重写

javascript - 对重叠事件进行 Sequelize 查询

php - 回显 SELECT CONCAT 查询的结果?

java - 如何将字符串解析为 java.sql.date

function - SAS 中的星期几函数

ruby-on-rails - Date.step() 方法的 Ruby 正确用法

regex - 使用 gsub 创建统一的时间格式

c# - Entity Framework 日期时间和 UTC

java - 如何在没有 ember-cli 的情况下通过 PHP 或 java 使用 ember js?