У меня есть требование, когда мне нужно прочитать дату из файла 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"
}
если это будет хорошо или есть другое логическое решение