У меня есть приложение, которое нужно запускать в рабочие дни и в рабочее время.
В конфигурации приложения я установил время начала в формате
Monday-Friday
9:00AM-5:30PM
Теперь у меня есть проблема с тем, как проверить, находится ли текущий день в пределах дня (время простое - время разбора с DateTime.ParseExact
и простая ветка будет делать), но я не знаю, как разбирать дни.
Я пробовал:
DayOfWeek day = DateTime.Now.DayOfWeek;
if (day >= (DayOfWeek)Enum.Parse(typeof(DayOfWeek), sr.start_day) &&
day <= (DayOfWeek)Enum.Parse(typeof(DayOfWeek), sr.end_day))
{ /* OK */ }
sr.start_day
и sr.end_day
являются строками
но проблема возникла во время тестирования на выходные - видимо, в DayOfWeek
enum
, воскресенье - первый день недели (со ссылкой на комментарии страница MSDN
Я предполагаю, что смогу сделать какую-то гимнастику с текущим кодом, но я ищу самый читаемый доступный код.
Edit Извините за недоразумение - рабочие дни не с понедельника по пятницу - они определены как строки в файле конфигурации, и они могут быть даже с пятницы по субботу, что нарушает мой первоначальный код.