Получение разницы во времени в списке дат - PullRequest
0 голосов
/ 10 июля 2019

Попытка вычислить разницу между двумя списками дат и вывести разницу.

Даты рассматривались как объект, представляющий собой строку, которую я изменил, но теперь я получаю только даты.

$TrimmedImport1 = $import1 -replace '"', "" |
                  Set-Content -Path "$env:TEMP\Time Finished.csv"
$TrimmedImport  = $import -replace '"', "" |
                  Set-Content -Path "$env:TEMP\Time Created.csv"

$ContentSetter1 = Get-Content -Path "$env:TEMP\Time Finished.csv"
$ContentSetter  = Get-Content -Path "$env:TEMP\Time Finished.csv"

foreach ($TimeConverted1 in $ContentSetter1) {
    [DateTime]$TimeConverted1
}
"`n"
foreach ($TimeConverted in $ContentSetter) {
    [DateTime]$TimeConverted
}

1 Ответ

0 голосов
/ 11 июля 2019

Используйте Import-Csv для чтения оригинальных файлов (нет необходимости вручную «обрезать» данные). Для расчета разницы между соответствующими строками данных используйте цикл For, чтобы вы могли выполнять итерацию по обоим массивам одновременно.

Пример кода ниже основан на предположении, что ваши входные файлы состоят из одного столбца без заголовка. Если это предположение неверно, вам необходимо соответствующим образом скорректировать код.

$created  = Import-Csv "$env:TEMP\Time Created.csv" -Header 'Timestamp' |
            Select-Object -Expand Timestamp
$finished = Import-Csv "$env:TEMP\Time Finished.csv" -Header 'Timestamp' |
            Select-Object -Expand Timestamp

for ($i=0; $i -lt $created.Count; $i++) {
    ([DateTime]$created[$i]) - ([DateTime]$finished[$i])
}
...