【问题标题】:PowerShell Date ComparisonPowerShell 日期比较
【发布时间】:2018-07-09 16:51:40
【问题描述】:

目标:从 CSV 导入日期。如果日期已经过去或者是今天,则显示它。

$dayInOctober = (Get-date).AddDays(90)
$csvname = "myCSV.csv"
$csvFile = Import-Csv C:\Users\a341162\Desktop\$csvname

foreach($row in $csvFile){
    if ($row.Date -le $dayInOctober){
        Write-Host $row.Date
    }
}

但只有当我做出 if 语句 -gt 时才有效。不应该是我上面的方式吗?

myCSV.csv:

"Name","Date"
"admryantest2","7/20/2018"
"admryantest3","7/20/2018"
"admryantest3","7/23/2018"
"admryantest3","7/23/2018"

【问题讨论】:

    标签: powershell csv date date-comparison


    【解决方案1】:

    导入 CSV 时,$row.Date 是一个字符串。如果您想比较日期作为日期,则需要将其转换为日期:

    $dayInOctober = (Get-date).AddDays(90)
    $csvname = "myCSV.csv"
    $csvFile = Import-Csv C:\Users\a341162\Desktop\$csvname
    
    foreach($row in $csvFile){
        if ((Get-Date $row.Date) -le $dayInOctober){
            Write-Host $row.Date
        }
    }
    

    那么你就可以按预期使用-le了。

    【讨论】:

      猜你喜欢
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-15
      • 2011-12-31
      • 2018-11-24
      • 2016-06-25
      相关资源
      最近更新 更多