Я ссылаюсь на список, который содержит много данных в виде истекшего времени процесса, и я пытаюсь преобразовать его в формат, в котором я могу найти среднее количество истекшего времени.
Данные выглядят примерно так:
ElapsedTime
0 hours, 1 minutes, 14 seconds
0 hours, 16 minutes, 2 seconds
0 hours, 4 minutes, 0 seconds
0 hours, 11 minutes, 59 seconds
Итак, я импортировал вышеупомянутые данные в переменную и извлек числовые данные, используя эту формулу:
$ElapsedHours, $ElapsedMinutes, $ElapsedSeconds = $TimeElapsed -split ', ' -split ' ' | Select -Index 0,2,4
Оттуда я присваиваю значения переменной и экземпляру New-TimeSpan:
$ElapsedTimeSpanObject = New-TimeSpan -Hours $ElapsedHours -Minutes $ElapsedMinutes -Seconds -$ElapsedSeconds
Это часть, которая становится сложной для меня. Два приведенных выше примера кода выполняются в цикле Foreach, и я уже создал пустой массив. После того, как объект timespan создан, он вставляется в массив и просматривает следующее значение ElapsedTime.
Я хочу найти среднее из общего массива.
Когда я выполняю текущий код, который я пытаюсь найти Среднее, я получаю ошибку. Вот код, который я использую:
$ElapsedTimespanCollection | Measure-Object -Average
Выполнение приведенного выше кода дает мне эту ошибку для каждого объекта в массиве:
Объект измерения: входной объект "00:02:44" не является числовым. В строке: 1 символ: 30 + $ ElapsedTimespanCollection | Объект измерения -Average + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidType: (00: 02: 44: TimeSpan) [Measure-Object], PSInvalidOperationException + FullyQualifiedErrorId: NonNumericInputObject, Microsoft.PowerShell.Команды.MeasureObjectCommand
Итак, как мне преобразовать или отформатировать эти измерения времени во что-то, с чем я могу проверить их среднее значение?