检查时间 - 获取日期 PowerShell

Check for Time - get-date PowerShell

我在 PowerShell 中有一个任务,想在进程 运行 时检查时间。 如果它通过 8:05 我想停止这个过程。如何在 PowerShell 中实现此目的?

提前致谢。

$time = get-date -Format hh:mm
$time
if ($time > 8:05)
{
   Write-Output "passed 8:05 am"
   exit
}
else
{
   Write-Output "too early"
}

PowerShell 中日期格式和日期比较的问题是,它们非常烦人。

最简单的方法是定义两个变量,一个代表当前时间:

$timenow = get-date

还有一个用于设定时间:

$timecomparison = Get-Date -Hour 8 -Minute 5

然后,为了实际比较,需要使用Get-Date参数"timeofday":

If ($timenow.TimeOfDay -lt $timecomparison.TimeOfDay) {do something}

此外,如果我错了,请纠正我,但在 Powershell 中,像 >、<、= 这样的运算符在条件和循环中往往无法正常工作。这就是为什么我更喜欢使用“大于”-lt

您需要将“时间”变量转换为双精度格式,因为默认为字符串,并将“:”替换为“.”

$time = get-date -Format hh.mm
$time.replace('.',':')
$double = [double]$time
if ($double -ge 8.05)
{
   Write-Output "passed 8:05 am"
   exit
}
else
{
   Write-Output "too early"
}

我还建议你阅读比较的语法 in powershell