質問

こんにちはかを計算する必要があり、平均時間につ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 ...

そして、彼らはモジュロ(%)で遊びます。

しかし、私は別の方法があることを願っていますか?

役に立ちましたか?

解決

分に60、時間に3600などを掛ける必要があります。、残り数秒しかないまで。そこから平均を計算するのは簡単です。

他のヒント

私はちょうどこれを書くより良いsthを見つけたuntif Ok :

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

それは完璧ではありませんが、何もないよりはましです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top