在PowerShell中测试非工作时间

时间:2017-01-05 14:47:50

标签: date datetime powershell-v3.0

我需要一种在PowerShell中测试非工作时间的方法。我的非工作时间是晚上7点到早上7点。我对日期部分不感兴趣。测试只适用于时间。我尝试了一些选项但没有访问权限。

3 个答案:

答案 0 :(得分: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 :(得分:1)

语法的一些谷歌搜索产生以下代码片段:

$a = Get-Date
if (($a.Hour -ge 19) -Or ($a.Hour -lt 7)) { Write-Host "Off Hours" } else { Write-Host "On hours" }

答案 2 :(得分:0)

这是一个简单的答案:

if ((get-date).Hour -in 7..19) {
   'Working Hours'
 } else { 
   'Off hours' 
 }