Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php中的数组中获取HH:MM格式小时的平均时间_Php - Fatal编程技术网

从php中的数组中获取HH:MM格式小时的平均时间

从php中的数组中获取HH:MM格式小时的平均时间,php,Php,我想知道这些小时的平均值。这些是计算出的任务所花费的小时数。我怎样才能得到平均时间? 这些小时的总和是1640:15。 当我把这些小时数除以数组的计数,我得到了11.388888889,我不知道这是对还是错 这些小时按小时计算,就像一项任务需要260:50小时 如果有任何类似的问题,请告诉我。谢谢 Array ( [0] => 09:00 [1] => 01:08 [2] => 07:26 [3] => 69:25 [4] =>

我想知道这些小时的平均值。这些是计算出的任务所花费的小时数。我怎样才能得到平均时间? 这些小时的总和是1640:15。 当我把这些小时数除以数组的计数,我得到了11.388888889,我不知道这是对还是错

这些小时按小时计算,就像一项任务需要260:50小时

如果有任何类似的问题,请告诉我。谢谢

Array
(
    [0] => 09:00
    [1] => 01:08
    [2] => 07:26
    [3] => 69:25
    [4] => 00:20
    [5] => 09:04
    [6] => 03:26
    [7] => 06:54
    [8] => 08:24
    [9] => 01:37
    [10] => 10:09
    [11] => 02:56
    [12] => 06:23
    [13] => 06:23
    [14] => 08:50
    [15] => 06:22
    [16] => 06:21
    [17] => 06:16
    [18] => 09:00
    [19] => 06:14
    [20] => 06:14
    [21] => 06:13
    [22] => 06:12
    [23] => 06:08
    [24] => 06:08
    [25] => 06:08
    [26] => 06:07
    [27] => 09:00
    [28] => 01:01
    [29] => 01:01
    [30] => 01:00
    [31] => 00:59
    [32] => 07:54
    [33] => 07:54
    [34] => 07:52
    [35] => 07:52
    [36] => 00:58
    [37] => 00:57
    [38] => 08:00
    [39] => 08:00
    [40] => 07:58
    [41] => 07:56
    [42] => 07:56
    [43] => 260:46
    [44] => 01:04
    [45] => 01:04
    [46] => 01:05
    [47] => 01:07
    [48] => 07:26
    [49] => 09:00
    [50] => 142:54
    [51] => 59:19
    [52] => 13:09
    [53] => 17:11
    [54] => 00:53
    [55] => 54:15
    [56] => 62:52
    [57] => 06:35
    [58] => 04:44
    [59] => 05:22
    [60] => 05:22
    [61] => 05:21
    [62] => 05:14
    [63] => 05:13
    [64] => 05:12
    [65] => 05:12
    [66] => 05:11
    [67] => 05:06
    [68] => 05:08
    [69] => 05:08
    [70] => 05:10
    [71] => 05:07
    [72] => 05:06
    [73] => 05:03
    [74] => 05:03
    [75] => 04:59
    [76] => 04:58
    [77] => 05:00
    [78] => 02:01
    [79] => 02:02
    [80] => 02:02
    [81] => 02:02
    [82] => 02:03
    [83] => 02:04
    [84] => 02:05
    [85] => 02:05
    [86] => 02:07
    [87] => 02:08
    [88] => 02:08
    [89] => 02:09
    [90] => 02:09
    [91] => 02:09
    [92] => 02:10
    [93] => 02:11
    [94] => 02:11
    [95] => 06:21
    [96] => 02:16
    [97] => 04:05
    [98] => 09:00
    [99] => 09:00
    [100] => 00:34
    [101] => 03:13
    [102] => 03:46
    [103] => 00:16
    [104] => 02:35
    [105] => 01:19
    [106] => 04:32
    [107] => 00:30
    [108] => 03:36
    [109] => 06:53
    [110] => 02:41
    [111] => 135:58
    [112] => 01:35
    [113] => 09:04
    [114] => 00:11
    [115] => 07:39
    [116] => 00:14
    [117] => 16:00
    [118] => 94:00
    [119] => 03:40
    [120] => 00:21
    [121] => 03:47
    [122] => 02:00
    [123] => 06:54
    [124] => 74:12
    [125] => 00:12
    [126] => 00:39
    [127] => 03:37
    [128] => 00:05
    [129] => 00:04
    [130] => 06:50
    [131] => 05:03
    [132] => 53:44
    [133] => 01:38
    [134] => 00:16
    [135] => 44:18
    [136] => 00:01
    [137] => 10:06
    [138] => 00:35
    [139] => 02:22
    [140] => 01:00
    [141] => 00:04
    [142] => 00:21
    [143] => 00:57
)

由于您的小时数可能超过24小时,因此无法使用基于
strotime
的方法来转换它们。计算的一种方法是分解
上的每个值,将小时和分钟分开,并将总分钟相加。然后,您可以计算平均分钟数,并以所需格式输出:

$total_minutes = 0;
foreach ($times as $time) {
    list($hours, $minutes) = explode(':', $time);
    $total_minutes += $hours * 60 + $minutes;
}
$average_minutes = $total_minutes / count($times);
echo "Average time is " . round($average_minutes / 60, 2) . " hour\n";
$average_hours = floor($average_minutes / 60);
$average_minutes = $average_minutes % 60;
echo "Average time is " . str_pad($average_hours, 2, 0, STR_PAD_LEFT) . ":" . str_pad($average_minutes, 2, 0, STR_PAD_LEFT) . "\n";
输出:

Average time is 11.39 hours
Average time is 11:23

可能重复在我的问题中,小时数是计算小时数的,如“此任务需要260:46小时的时间”,因此我将如何获得所有小时数的平均值。我得到11.38,如果它是对的或错的,我不知道(从快速扫描下来看大致正确),但为什么不尝试使用几个值,例如
00:05,00:10,00:15
看看你的平均计算结果是什么?我尝试过这种方法,对于24小时以下的小时,答案是正确的,但是如果计算的小时数大于24,逻辑就不正确了。谢谢,这看起来很好,对我来说很有效。@RadhakishanJangid不用担心,我很高兴能帮上忙。