如果时间在上午8:00到下午5:30之间

时间:2014-12-16 15:56:44

标签: powershell

有人可以提一下我如何执行sendmail功能 如果时间是在上午8:00到下午5:30之间 其余的时间不发邮件?

基本上像这样的伪作品。

if(time between 8:00 AM and 5:30 PM)
{
    send mail
{
else
{
    do nothing
}

更像这样

[int]$hour = get-date -format HH
If($hour -lt 8 -or $hour -gt 17)
{

2 个答案:

答案 0 :(得分:7)

创建2个参考时间戳

$min = Get-Date '08:00'
$max = Get-Date '17:30'

并将他们的TimeOfDay属性与您日期的相应属性进行比较:

$now = Get-Date

if ($min.TimeOfDay -le $now.TimeOfDay -and $max.TimeOfDay -ge $now.TimeOfDay) {
  # send mail
}

答案 1 :(得分:0)

我正在谷歌搜索是否有人想出了比我更好的解决方案并到达了这里。这是我的解决方法:

if (((get-date).TimeOfDay.TotalMinutes) -in 480..1050) {
    # some code
}

我希望它可以帮助某人,加油! :)