【问题标题】:How to compare the sysdate and the date stored in CSV file如何比较 sysdate 和 CSV 文件中存储的日期
【发布时间】:2016-06-26 10:26:49
【问题描述】:

我有一个 .csv 文件,我在其中创建了一个以随机方式给出日期的列。我想要一个脚本,我想在其中比较今天的日期,即 sysdate 与 CSV 文件中存在的日期。 如果今天的日期与 CSV 中的日期匹配,那么它将 Write-Output "true" 否则为 "false"。

日期字符串如下所示:

2016 年 3 月 10 日 2016 年 4 月 12 日 2016 年 3 月 9 日

我试过了:

$CheckDate = (Get-Date).Date
Import-Csv 'C:\Downloads\date.csv' | Select-Object -Property *, @{n='Date';e={ [DateTime]::ParseExact($_.'Date', 'MM-dd-yyyy') }} -Exclude 'Date' | ForEach-Object { 
    if ($_.'Date' -eq $CheckDate) { 
        write-Output "$true" 
    } else { 
        Write-output "$false" 
    } 
}

还有这个:

$data = Get-item "C:\Downloads\date.csv" 
$a = Get-Date -Format d 
if($a = $data) {
    write-output "Its working!!"
} else {
    write-output "Its not working!!"
} 

【问题讨论】:

  • 你能描述或展示已经尝试过的东西吗?请提供输入 csv 的示例。
  • 什么是“随机方式”?您的意思是“随机”格式吗?
  • 这里的随机意味着不像 mm/dd/yyyy 3/10/2016 4/12/2016 3/09/2016 那样按顺序进行......继续
  • 我试过这个 $CheckDate = (Get-Date).Date Import-Csv 'C:\Downloads\date.csv' | Select-Object -Property *, @{n='Date';e={ [DateTime]::ParseExact($_.'Date', 'MM-dd-yyyy') }} -排除'Date' | ForEach-Object { if ($_.'Date' -eq $CheckDate) { write-Output "$true" } else { Write-output "$false" } }
  • 我也试过这个 $data = Get-item "C:\Downloads\date.csv" $a= get-date -format d if($a = $data) { write-output "它的工作!” } else { 写输出“它不工作!!” }

标签: powershell powershell-2.0 powershell-ise


【解决方案1】:

你说 csv 文件中的日期看起来像:

 3/10/2016
 4/12/2016
 3/09/2016

但在您的示例中,您尝试使用格式字符串 MM-dd-yyyy 解析日期 - 即。预计一个月以前导零和- 作为分隔符。

您描述的示例的正确日期格式是%M/dd/yyyy

PS C:\> [datetime]::ParseExact('3/10/2016','%M/dd/yyyy',$null)

Thursday, March 10, 2016 12:00:00 AM

【讨论】:

  • 正斜杠需要转义 (\/),否则它们将匹配区域设置中配置的任何日期分隔符。话虽如此,对于这种特定的日期格式解析不是必需的。你可以简单地转换它:[datetime]'3/09/2016'。如果您想使用ParseExact(),请注意:我建议为第三个参数提供实际的文化信息([CultureInfo]::InvariantCulture,如果您不想要特定的文化)。在某些情况下,当使用 $null 时,我已经看到 ParseExact() 失败。
  • 感谢您的建议..!但我没有得到想要的输出。我无法比较日期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多