1

他の人が.Netでこの問題をどのように解決しているかを確認したい

シナリオ:確認したいif the current datetime (Now()) is > Monday 6:00AM and < Friday 10:00PM

4

2 に答える 2

1

シナリオは2つの方法で解釈できます。

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);
于 2013-03-13T10:39:29.133 に答える
0
   bool CheckDay(DayOfWeek start,DayOfWeek End, DayOfWeek toCheck)
   {
  if (start <=max)
    return toCheck >=start && toCheck<=End;

return toCheck >=start || toCheck <=End
  }
于 2013-03-13T10:27:16.783 に答える