【发布时间】:2023-03-14 21:47:01
【问题描述】:
我有一个要求,我需要从 CSV 文件中读取日期并将其与脚本中的日期变量进行比较。但是,当 CSV 文件中的某些日期条目为空白时,我的代码不起作用。知道如何在 [datetime] 变量中存储空白日期吗?
这是我的代码的一部分:
#This is my date variable in script
$InactivityDate = (Get-Date).AddDays(-62).Date
Import-Csv $MyCSV | ForEach {
#This is the date variable i'm reading from csv file
$whenCreated = $_.whenCreated
#This converts value in string variable $whenCreated to [DateTime] format
$ConvertWhenCreated = ([datetime]::ParseExact($whenCreated,"dd/MM/yyyy",$null))
#Comparing dates
if($ConvertWhenCreated -le $InactivityDate)
{
"Account is dormant"
}
当$whenCreated 包含一些值时,上面的代码可以正常工作,但是当它为空白时,PowerShell 显然无法将日期变量与空白值进行比较:(
我现在能看到的唯一解决方案是检查 $whenCreated 是否为空白并保存一个非常旧的日期,就像它在 Excel 中发生的那样,例如:
if($whenCreated -eq "")
{
$whenCreated = "01/01/1900 00:00:00"
}
这应该没问题还是有其他合乎逻辑的解决方案?
【问题讨论】:
标签: date powershell