检查datetime的工作日是否在2个datetime值之间



我想看看其他人是如何在。net中解决这个问题的

:我想检查 if the current datetime (Now()) is > Monday 6:00AM and < Friday 10:00PM

您的场景可以用两种方式解释:

1。您要检查当前日期是否在星期一和星期五之间,以及当前时间是否在6:00和21:59之间。如果是这种情况,可以使用以下函数:

bool DateIsInValidRange(DateTime date)
{   
    if(date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday) {
        return false;
    }
    if(date.Hour < 6 || date.Hour >=22) {
        return false;
    }
    return true;
}

2。您想要检查一个普通的日期范围(也就是说,只要不是星期五,23:00就可以,只要不是星期一,5:00就可以)。在这种情况下:

bool DateIsInValidRange(DateTime date)
{   
    if(date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday) {
        return false;
    }
    if(date.DayOfWeek == DayOfWeek.Monday && date.Hour < 6) {
        return false;
    }
    if(date.DayOfWeek == DayOfWeek.Friday && date.Hour >= 22) {
        return false;
    }
    return true;
}

对于当前时间,调用它为:

bool isInValidRange = DateIsInValidRange(DateTime.Now);
   bool CheckDay(DayOfWeek start,DayOfWeek End, DayOfWeek toCheck)
   {
  if (start <=max)
    return toCheck >=start && toCheck<=End;
return toCheck >=start || toCheck <=End
  }

相关内容

  • 没有找到相关文章

最新更新