Вопрос

Здравствуйте, мне нужно рассчитать среднее время между датой между некоторыми датами.

На самом деле у меня есть некоторое датение, как это:

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
.

Мне нужно рассчитать среднее время между этими интервалами. Вот только минута и второе, но это может быть месяц или год.

Я не могу найти хороший способ легко рассматривать его.Я могу просто добавить каждого свидания с преобразованием, как это:

sec + 60xmin + 3600xHour ...

и их играют с модульм (%).

Но я надеюсь, что есть другой путь?

Это было полезно?

Решение

Вы должны умножить минуты с 60, часы с 3600 и т. Д., До не осталось только секунд.Оттуда это легко рассчитать среднее.

Другие советы

Хорошо, я нашел что-то лучше, я просто пишу это:

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