【问题标题】:PHP average time from an array来自数组的 PHP 平均时间
【发布时间】:2012-03-18 19:18:17
【问题描述】:

如何从一组时间中计算出平均时间。

我有一个如下所示的数组:

('17:29:53','16:00:32')

我希望使用 PHP 实现16:45:12 的结果。

【问题讨论】:

  • 不明白为什么投反对票。这是一个相关且有趣的问题

标签: php time


【解决方案1】:
date('H:i:s', array_sum(array_map('strtotime', $array)) / count($array))

在我的手机上输入的未经测试的解决方案应该可以工作。

【讨论】:

  • 它返回什么?数组?
  • @oneofakind var_dump(date('H:i:s', array_sum(array_map('strtotime', $array)) / count($array))); ;)
【解决方案2】:
$times = array('17:29:53','16:00:32');

$totaltime = '';
foreach($times as $time){
        $timestamp = strtotime($time);
        $totaltime += $timestamp;
}

$average_time = ($totaltime/count($times));

echo date('H:i:s',$average_time);

【讨论】:

    【解决方案3】:
    • 使用 strtotime() 函数转换两者
    • 添加值
    • 除以 2(或数组中有多少项)
    • 转换回正常时间格式

    【讨论】:

      【解决方案4】:
      1. 循环所有条目并添加时间,转换为秒
      2. 除以 Array 的长度并转换回 hh:mm:ss

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        • 2020-07-12
        相关资源
        最近更新 更多