平均dateInterval php

时间:2012-07-26 09:40:10

标签: php datetime date diff dateinterval

你好我需要计算一些DateInterval之间的平均时间。

其实我有一些像这样的Dateinterval:

for ($i = 0 ; $i < count($startDate) ; $i++)
    {
          $diffTable[] = date_diff($finishDate[$i], $startDate[$i]);
          echo $diffTable[$i]->format("%Y-%M-%d %H:%i:%s");
    }

这是输出:

00-00-0 00:13:17
00-00-0 00:7:47
00-00-0 00:7:14
00-00-0 00:10:39

我需要计算这个间隔之间的平均时间。 这里只有分钟和秒钟,但可能是月份或年份。

我找不到一个很容易计算的好方法。我可以简单地添加每个dateInterval和这样的转换:

sec + 60xmin + 3600xHour ...

他们和Modulo(%)一起玩。

但我希望还有另一种方法吗?

2 个答案:

答案 0 :(得分:1)

你应该将分钟乘以60,小时乘以3600等,直到只剩下几秒钟。从那里可以很容易地计算平均值。

答案 1 :(得分:1)

Ok untif我发现......我写的更好:

function dateIntervalToSecond($interval)
    {
        return $interval->y     * 31556926 
                + $interval->m  * 2629743
                + $interval->d  * 6400
                + $interval->h  * 3600
                + $interval->i  * 60
                + $interval->s;
    }

这不是完美的,但总比没有好。