你好我需要计算一些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(%)一起玩。
但我希望还有另一种方法吗?
答案 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;
}
这不是完美的,但总比没有好。