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

时间:2015-07-08 10:16:22

标签: php symfony twig

我正在尝试计算我的实体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”(在第一个日期之间:期间为3天,第二个日期之间:期间为2天,第三个日期之间:期间为1天,第四个日期之间为1天)。计算很好,但我只需要返回7。 有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,问题很容易解决。 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;
}

Thanx寻求帮助。