$Deldate = "19-06-2018"
$Newdate = "04-06-2018"
Run Code Online (Sandbox Code Playgroud)
我需要检查哪个日期更大。
if ($Deldate -ge $NewDate) {
write-host "NewDate is bigger"
}
else {
write-host "Deldate is bigger"
}
Run Code Online (Sandbox Code Playgroud)
这对我不起作用,而且格式看起来不是“System.DateTime”。我从外部 CSV 文件获取日期值。我该如何找到解决方案?
您应该能够将创建的字符串转换为“datetime”类型,如下所示:
$Deldate = "19-06-2018"
$Newdate = "04-06-2018"
$Deldate = [datetime]::ParseExact("$Deldate", 'dd-MM-yyyy', $null)
$Newdate = [datetime]::ParseExact("$Newdate", 'dd-MM-yyyy', $null)
if ($Deldate -ge $NewDate) {
write-output "NewDate is bigger than or equal to"
}
else {
write-output "Deldate is bigger"
}
Run Code Online (Sandbox Code Playgroud)
这将返回正确的结果。您不能简单地使用 Get-Date cmdlet,因为-Date所需参数还要求该参数为“DateTime”类型,因此您首先必须将字符串转换为 DateTime 类型。
| 归档时间: |
|
| 查看次数: |
16476 次 |
| 最近记录: |