Ну, вы можете сделать:
DateTime now = DateTime.Now;
if (now.Hour < 8 || now.Hour >= 17)
Обратите внимание, что я обычно предпочитаю использовать свойство DateTime.Now
один раз , копируя результат в локальную переменную, как указано выше -Таким образом, вы не получаете странные возможности из-за изменения времени между вызовами.Здесь нет проблем, но это может быть и в других случаях.
Другая возможность - использовать DateTime.TimeOfDay
, если вы хотите обрабатывать вещи таким образом.Я думаю, что выше все так же просто, как кажется.
РЕДАКТИРОВАТЬ: Стивен отметил, что я изменил && в вашей первоначальной логике на ||- Ваша оригинальная логика никогда не может работать, как это никогда не может быть до 8 утра и после 5 вечера.Вышесказанное работает для «если это не в рабочий день» - если вы хотите «если это в рабочий день», вам просто нужно:
DateTime now = DateTime.Now;
if (now.Hour >= 8 && now.Hour < 17)