平均dateInterval php

7

你好,我需要计算一些日期间隔的平均时间。

实际上,我有一些类似于这样的日期间隔:

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

我需要计算这些间隔之间的平均时间。这里只涉及分钟和秒,但也可能涉及到月份或年份。

我找不到一种简单的计算方法。我可以像这样使用换算来将每个日期间隔相加:

秒数+60x分钟数+3600x小时数...

然后用取余运算符(%)进行操作。

但我希望有另一种方法?

2个回答

2

好的,如果我找到更好的东西,我会写在这里:

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

虽然不完美,但总比没有好。


1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接