我是Powershell的新手,我在PS中写了一个小实用程序,其中在$ firstDate和$ lastDate中提供值,但是当我运行此程序时,这两个值未打印在$ value中。在此。
$firstDate=Get-Date -Year.2018 -Month.12 -Day.1
$lastDate=Get-Date -Year.2020 -Month.1 -Day.12
$value = $firstDate -eq $lastDate
最佳答案
当使用-year
或-month
或-day
提供值时,必须在space
之后定义它的值。您正在使用点符号,该符号主要用于访问变量的属性或方法。 (来自@mklement0
的注释:PowerShell还支持:作为参数名称和参数之间的分隔符)
$firstDate=Get-Date -Year 2018 -Month 12 -Day 1
$lastDate=Get-Date -Year 2020 -Month 1 -Day 12
$value = $firstDate -eq $lastDate
# value = False.
这将为您提供
false
的值,因为日期不匹配。更新
即使您将年,月和日设置为相同,上述代码也永远不会等于true。这是因为DateTime的时间因子将关闭。您可以执行以下操作以确保仅比较
Dates
$value = $firstDate.Date -eq $lastDate.Date
这只会比较日期而忽略时间。