【发布时间】:2013-03-01 05:22:47
【问题描述】:
我想看看其他人如何在 .Net 中解决这个问题
场景:我想检查if the current datetime (Now()) is > Monday 6:00AM and < Friday 10:00PM。
【问题讨论】:
我想看看其他人如何在 .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
}
【讨论】:
SQL