使用日期

时间:2018-01-12 16:17:10

标签: powershell csv

我正在尝试使用PowerShell在CSV文件中按日期选择项目。 CSV文件中日期的格式为1/8/2018 10:04:00 AM。当我运行这个时,虽然我知道数据存在,但我没有数据。

$events = Import-Csv c:\normtest\server2_perf.csv | foreach {
  New-Object PSObject -prop @{
    Date    = [DateTime]::Parse($_.Date);
    CPULoad = $_.CPULoad;
    MemLoad = $_.Memload
  }
}
$events | Where { $_.Date -eq (Get-Date).AddDays(-4) }

1 个答案:

答案 0 :(得分:0)

由于您有时间参与约会,因此仅适用于完全 4天后(即当天的时间=现在)。

假设此部分正常工作:Date = [DateTime]::Parse($_.Date);,您可以这样做:

$start = (Get-Date).Date.AddDays(4)
$fin   = $start.AddDays(1)  # assuming 1 day window

$events |
    Where {$_.Date -gt $start -and  $_.Date -lt $fin}

或者,您可以将日期字段视为字符串:

$events = Import-Csv c:\normtest\server2_perf.csv |
              Where {$_.Date -like "$(Get-Date).AddDays(-4).ToString("M/d/yyyy"))*" }

假设您的日期格式为"M/d/yyyy"