我知道这应该是一个简单的任务,但我没有看到我期望的结果。我正在导入一个 CSV 文件并尝试过滤掉已经过去的日期,只保留与今天或将来相同的日期。
举一个简单的例子,我有一个 csv 文件,内容如下:
如果我运行以下代码,我将看不到预期的结果;今天或将来的日期相等:
$Today = Get-date
$data = import-csv C:\temp\ReleaseRequest2.csv
$data | where {$_.expires -ge $Today} | select expires
当我运行上述程序时,我收到以下结果:
目标是仅返回等于今天或未来的日期。在尝试过滤日期之前,我需要对日期进行格式化吗?我知道这是一个简单的解决方案,但我绞尽脑汁想找到答案。
提前致谢。
在比较日期之前将日期转换为
datetime
对象,您可以通过这个简单的测试了解代码失败的原因:因此,在您的过滤条件中如果添加了演员阵容,那么
[datetime]
问题就应该解决了:使用
Get-Date
来解析它们也应该有效:如果上述选项无法将字符串转换为
datetime
对象,则可以使用datetime.ParseExact
日期格式的字符串,例如:您可以按照这种方式完成此操作,并且比较类型将是 [datetime],由左侧的类型决定: