首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得平均时间

如何获得平均时间
EN

Stack Overflow用户
提问于 2013-06-30 21:19:13
回答 2查看 392关注 0票数 1

我在计算平均值时遇到了时间计算问题。

我有一个汇总的呼叫时间06:03:05,我想得到175个呼叫的平均值。

代码语言:javascript
复制
    date_default_timezone_set('America/Chicago');
    $ts =  strtotime("06:03:05");
    echo date("H:i:s", $ts/175);

我得到: 12:26:25

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

EN

回答 2

Stack Overflow用户

发布于 2013-06-30 21:32:54

这里的问题是,您的strtotime调用没有日期组件,缺省为当前日期。因此,$ts不仅仅是时间部分的总和,它还包括日期部分。

我会避免使用这样的时间函数。它非常简单,可以根据小时、分钟和秒来计算秒数。有了它之后,就可以像在那里一样使用date()回显格式化的时间。

尝试更多像这样的东西:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-06-30 21:41:07

一种简单的方法,最多24小时有效。否则,采用Atlis方法并搜索一种将秒转换为日期的方法。

代码语言:javascript
复制
$time = '06:03:05';
$seconds = strtotime("1970-01-01 $time UTC");
$average = $seconds/175;
echo gmdate('H:i:s', $average);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17390758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档