3

我会尽量准确地描述这一点。我的 CSV 格式为:

email,            DayMade
email1@email.com, 2013-07-30T15:31:11.000Z
email2@email.com, 3013-07-31T15:31:15.0001

该报告每隔几天自动生成一次。我需要过滤它以删除一周以上的所有条目。有人告诉我使用以下命令:

$CutoffDate = (Get-Date).AddDays(-5)
$Data = Import-CSV "C:\gam\newestreport.csv" | `
Where-Object {$_.Date -as '[DayMade]' -lt $CutoffDate}

但是,这是返回错误,我认为这是由包含时间 (T15:31:11.0007) 引起的。

我不知道如何在离开日期时删除时间。

4

1 回答 1

3

在您的 Where-Object 脚本块中,您需要将“DayMade”属性转换为 [DateTime] 对象。此外,在投射时,不要将要投射的类型括在引号中。

$CutoffDate = (Get-Date).AddDays(-5)
$Data = Import-CSV "C:\gam\newestreport.csv" | `
Where-Object {$_.DayMade -as [DateTime] -lt $CutoffDate}
于 2013-09-10T20:48:27.630 回答