您可以这样做,请注意,我们使用的是$_.'development date' -as [datetime],这会将development date 列上的当前值(strings)转换为datetime 对象。
在此示例中,它过滤了 10/06/2021 和 10/25/2021 之间的范围,包括两个日期。
@'
Name, development date, ID
P0113D, 10/06/2021,33
P0123D, 4/16/2020, 42
P0423D, 10/25/2021, 213
P0113D, 11/22/2021, 298
'@ | ConvertFrom-Csv | Where-Object {
$date = $_.'development date' -as [datetime]
$date -ge [datetime]'10/06/2021' -and $date -le [datetime]'10/25/2021'
}
输出:
Name development date ID
---- ---------------- --
P0113D 10/06/2021 33
P0423D 10/25/2021 213
请注意,以上是作为示例,如果您从 CSV 文件中尝试它,语法将是:
Import-Csv -Path 'c:/.../etc' -Delimiter "," | Where-Object { ....
为了阐明使用-as 和将[datetime] 转换为字符串之间的区别,这里有一个实际示例:
[datetime]'11/22/2021' # => Monday, November 22, 2021 12:00:00 AM
'11/22/2021' -as [datetime] # => Monday, November 22, 2021 12:00:00 AM
[datetime]'notadate!!!' # => Exception thrown
'notadate!!!' -as [datetime] # => Nothing is returned // no errors