早上好,
我有一个变量如下:$machines = $user2,$name,$serial,$purchased
存储在$ machines中的样本数据是:
User1,
Laptop1,
xyz1234,
01/01/2010
我想创建一个名为$ tobereplaced的新变量,其中包含从今天开始日期超过4年的$ machine中的所有记录。
这个im的模糊逻辑代码期望像$tobereplaced = $machines.$purchased | where {$_$purchased = -getdate > 4 years}
等等,但我无法弄明白。
非常感谢协助。
由于
答案 0 :(得分:2)
$fourYearsAgo = (Get-Date).AddYears(-4)
$tobereplaced = $machines | Where-Object { (Get-Date $_[-1]) -le $fourYearsAgo }
答案 1 :(得分:1)
将日期转换为DateTime,并将其与四年前的日期进行比较。像这样,
# Assuming $m[3] contains the timestamp, parse it as a DateTime and compare
# against a date four years ago.
if([DateTime]::Parse($m[3]) -le [DateTime]::Now.AddYear(-4)) {
$tobereplaced += $m
}
根据您的区域设置,您可能需要告诉[DateTime]::Parse()
如何解析日期。是2010年12月1日,2010年1月12日或2010年1月12日?