2017-01-05 4 views
0

Мне нужен способ тестирования Off-Hours в PowerShell. Мои внерабочие часы - 7 вечера 7 утра. Меня не интересует дата. Тест проводится только на время. Я попробовал несколько вариантов, но не имел доступа.Тестирование Off-Hours в PowerShell

ответ

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' 
} 
+0

Спасибо вам Ansgar Wiechers! Очень аккуратный. – RaviLobo

+0

@RaviLobo Есть ли особая причина, по которой вы не приняли ответ через 9 месяцев после его принятия? –

+0

Прошу прощения. Я принял его снова. – RaviLobo

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' 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^