我在计算平均值时遇到了时间计算问题。
我有一个汇总的呼叫时间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
我甚至不确定为什么我会想出这个非常大的平均时间。我这样做对吗?请帮帮忙。
发布于 2013-06-30 21:32:54
这里的问题是,您的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);发布于 2013-06-30 21:41:07
一种简单的方法,最多24小时有效。否则,采用Atlis方法并搜索一种将秒转换为日期的方法。
$time = '06:03:05';
$seconds = strtotime("1970-01-01 $time UTC");
$average = $seconds/175;
echo gmdate('H:i:s', $average);https://stackoverflow.com/questions/17390758
复制相似问题