PHP-计算日期范围内的闰日

PHP-计算日期范围内的闰日,php,date,Php,Date,我试图计算一个日期范围内的闰日数 这就是我迄今为止所做的(采用的代码) 以下是我需要的帮助: 上面的代码只查看开始日期和结束日期的年份。例如,如果开始日期在2月29日之后,则不考虑。我如何才能确保它真正考虑到整个日期,而不仅仅是日期的年份 预期结果示例:2020-03-01 2024-02-28之间的0个闰日 预期结果示例:2020-02-28 2024-03-01之间的2个闰日 提前谢谢 停止做约会数学。这很难 使用datetime和diff 这里有一个例子 $datetime1 =

我试图计算一个日期范围内的闰日数

这就是我迄今为止所做的(采用的代码)


以下是我需要的帮助:

  • 上面的代码只查看开始日期和结束日期的年份。例如,如果开始日期在2月29日之后,则不考虑。我如何才能确保它真正考虑到整个日期,而不仅仅是日期的年份

    • 预期结果示例:2020-03-01 2024-02-28之间的0个闰日
    • 预期结果示例:2020-02-28 2024-03-01之间的2个闰日

  • 提前谢谢

    停止做约会数学。这很难

    使用datetime和diff

    这里有一个例子

    $datetime1 = new DateTime('2009-10-11');
    
    $datetime2 = new DateTime('2009-10-13');
    
    $interval = $datetime1->diff($datetime2);
    
     echo $interval->format('%R%a days');
    
    准确地回答这个问题

    $start = new DateTime('2020-03-01');
    $end = new DateTime('2024-02-28');
    $interval = ("last day of feb next year");
    
    $current = clone $start;
    $leapYears = 0;
    while ($current->modify("last day of feb") && $current <= $end) {
        if ($current->format('d') == 29 && $current > $start) {
            $leapYears++;
        }
        $current->modify("+1 year");
    }
    
    $start=新日期时间('2020-03-01');
    $end=新日期时间('2024-02-28');
    $interval=(“明年2月的最后一天”);
    $current=克隆$start;
    美元年=0;
    而($current->modify(“二月的最后一天”)&&&$current格式('d')==29&&&$current>$start){
    $LEAP++;
    }
    $current->modify(“+1年”);
    }
    
    我不知道如何使用datetime和diff来计算范围内的闰日数。你能详细说明一下吗?
    $start = new DateTime('2020-03-01');
    $end = new DateTime('2024-02-28');
    $interval = ("last day of feb next year");
    
    $current = clone $start;
    $leapYears = 0;
    while ($current->modify("last day of feb") && $current <= $end) {
        if ($current->format('d') == 29 && $current > $start) {
            $leapYears++;
        }
        $current->modify("+1 year");
    }