Мне нужен способ тестирования Off-Hours в PowerShell. Мои внерабочие часы - 7 вечера 7 утра. Меня не интересует дата. Тест проводится только на время. Я попробовал несколько вариантов, но не имел доступа.Тестирование Off-Hours в PowerShell
0
A
ответ
1
Легче использовать полную метку времени.
$now = Get-Date
$start = $now.Date.AddHours(7)
$end = $now.Date.AddHours(19)
if ($start -le $now -and $end -ge $now) {
'within work hours'
} else {
'outside work hours'
}
1
Немного прибегая к помощи синтаксиса дает следующий фрагмент кода:
$a = Get-Date
if (($a.Hour -ge 19) -Or ($a.Hour -lt 7)) { Write-Host "Off Hours" } else { Write-Host "On hours" }
+0
Спасибо, Битриклер! Точный и лаконичный. Еще раз спасибо. – RaviLobo
0
Вот упрощенный ответ:
if ((get-date).Hour -in 7..19) {
'Working Hours'
} else {
'Off hours'
}
Спасибо вам Ansgar Wiechers! Очень аккуратный. – RaviLobo
@RaviLobo Есть ли особая причина, по которой вы не приняли ответ через 9 месяцев после его принятия? –
Прошу прощения. Я принял его снова. – RaviLobo