今天(2017-05-29)我在Windows 7企业版上使用PowerShell 5.0.10586.117并运行以下命令(缩短):

$dateOfLicense = "2017-04-20"
$dateOfToday = '{0:yyyy-MM-dd}' -f (Get-Date)

$TimeDifference = [DateTime]$dateOfToday - [DateTime]$dateOfLicense
if (($TimeDifference) = 14)
{
    Write-Host "test"
}

即使这两天之间的时间差是39,我的代码也会跳到if子句中,然后将“test”发送到屏幕。

我在这里做错了什么?

最佳答案

您正在将14分配给$TimeDifference。相反,您将不使用Days比较-le属性:

if ($TimeDifference.Days -le 14)
{
    Write-Host "test"
}

10-01 15:18