他の人が.Netでこの問題をどのように解決しているかを確認したい
シナリオ:確認したいif the current datetime (Now()) is > Monday 6:00AM and < Friday 10:00PM
。
シナリオは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);
bool CheckDay(DayOfWeek start,DayOfWeek End, DayOfWeek toCheck)
{
if (start <=max)
return toCheck >=start && toCheck<=End;
return toCheck >=start || toCheck <=End
}