你好,我需要计算一些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 (%)。
但我希望有另一种方法?
发布于 2012-07-26 17:43:10
你应该将分钟数乘以60,小时数乘以3600,等等,直到只剩下几秒钟。从那里很容易计算出平均值。
发布于 2012-07-26 18:08:17
好的,直到我找到更好的东西,我只写这个:
function dateIntervalToSecond($interval)
{
return $interval->y * 31556926
+ $interval->m * 2629743
+ $interval->d * 6400
+ $interval->h * 3600
+ $interval->i * 60
+ $interval->s;
}
这并不完美,但总比什么都没有好。
https://stackoverflow.com/questions/11666531
复制相似问题