【问题标题】:Average dateInterval php平均 dateInterval php
【发布时间】:2012-07-24 21:01:56
【问题描述】:

您好,我需要计算一些 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 ...

他们使用模数 (%)。

但我希望有另一种方法?

【问题讨论】:

    标签: php datetime date diff dateinterval


    【解决方案1】:

    好吧,如果我发现某事更好,我就写这个:

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

    它并不完美,但总比没有好。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-03
        • 2017-06-07
        • 2013-03-06
        相关资源
        最近更新 更多