я ссылаюсь на список, который имеет много данных в виде затраченного времени процесса, и я пытаюсь преобразовать его в формат, где я могу найти среднее количество затраченного времени.
данные выглядят примерно так:
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
выполнение приведенный выше код дает мне эту ошибку для каждого объекта в массиве:
Measure-Object:объект ввода "00:02: 44" не является числовым.
В строке:1 знак:30
+ $ElapsedTimespanCollection | Измерения-Объект -Средняя
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (00:02:44:Промежуток Времени) [Измерение Объект], PSInvalidOperationException
+ FullyQualifiedErrorId : NonNumericInputObject, Microsoft.PowerShell.Команды.MeasureObjectCommand
Итак, как я могу конвертировать или форматировать эти измерения времени во что-то, что я могу проверить для их среднего значения?