检查时间 - 获取日期 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
我在 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