如何获得时间平均值

时间:2013-06-30 13:19:13

标签: php average

我在获得平均值方面存在时间计算问题。

我有这个总结的通话时间06:03:05而且我希望平均有175个电话。

    date_default_timezone_set('America/Chicago');
    $ts =  strtotime("06:03:05");
    echo date("H:i:s", $ts/175);

我得到: 12时26分25秒

我甚至不确定为什么我想出这个非常大的时间平均值。我这样做了吗?请帮忙。

2 个答案:

答案 0 :(得分:1)

问题在于,没有日期组件的strtotime调用默认为当前日期。因此,$ts是一个多的数字,而不仅仅是时间部分的总和;它还包括日期部分。

我会避免使用像这样的时间函数。根据小时,分钟和秒计算秒数非常简单。完成后,您可以使用date()来回显格式化的时间。

尝试更像这样的事情:

function getTimeAverage($hours, $minutes, $seconds, $division) {
    $seconds += ($hours * 3600) + ($minutes * 60);
    return $seconds / $division;
}

$average = getTimeAverage(6, 3, 5, 175);

echo gmdate("H:i:s", $average);

答案 1 :(得分:0)

一种简单的方法,最长可达24小时。另外,采用Atlis方法并搜索将秒转换为日期的方法。

$time = '06:03:05';
$seconds = strtotime("1970-01-01 $time UTC");
$average = $seconds/175;
echo gmdate('H:i:s', $average);