我正在尝试计算我的实体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。 有任何想法吗?
答案 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寻求帮助。