如何在symfony2中获得几个日期之间的数字od天并返回值到数组


How to get number od days between few dates in symfony2 and return values to array

我试图计算我的实体Symfony2中几个日期之间的天数。我有getDateFrom()和getDateTo()的实体,它们返回DateTime。我写函数:

public function getCountDays()
{
$total = array();
    foreach($this->getHolidays()  as $day)
    {
    $total[] =  (new DateTime($day->getDateTo()->format('Y-m-d')))->diff(new DateTime($day->getDateFrom()->format('Y-m-d')))->format('%a')+1 ;
    $sum =  array_sum($total);
    //print_r( $sum ) ;
    }
    return $sum;
}

一切都可以,但这不是我需要的。函数返回结果"3567"(第一个日期之间:period为3天,第二个日期之间:period为2天,第三个日期之间:period为1天,第四个日期之间:period为1天)。计算很好,但我只需要返回7。什么好主意吗?

我找到了解决方案,问题很容易解决。Array_sum必须在foreach循环之后,如下所示。

public function getCountDays()
{
$total = array();
foreach($this->getHolidays()  as $day)
{
$total[] =  (new DateTime($day->getDateTo()->format('Y-m-d')))->diff(new DateTime($day->getDateFrom()->format('Y-m-d')))->format('%a')+1 ;

}

$sum =  array_sum($total);
return $sum;
}