День недели и час дня в операторе if C#
Я хочу что-то сделать, если день и время дня равны истине в выражении if. У меня есть часть дня, просто не могу понять, какая часть времени. Допустим, я хочу, чтобы время было 9 утра.
Вот что у меня так далеко
var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && time_now = DateTime.Now.Hour==9)
{
//do something
}
Я не могу использовать это, я получаю ошибку:
Оператор '&&' нельзя применять к операндам типа 'bool' и 'System.TimeSpan'
Спасибо за любую помощь заранее.
4 ответа
Я думаю time_now
имеет TimeSpan
тип данных. Так что вы можете попробовать это
if (dt_check_monday == DayOfWeek.Monday && time_now.Hours == 9)
{
//do something
}
Вы должны просто сделать это:
if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour == 9)
{
}
Ваш код имеет присваивание необъявленной переменной time_now
и вы делаете назначение time_now =
что заставляет его терпеть неудачу.
Вы должны также рассмотреть вопрос о пересмотре того, как вы называете свои переменные, dt_check_monday
абсолютно ничего не значит, если значение внутри него DayOfWeek.Wednesday
рассмотреть вопрос об изменении его на что-то вроде dt_currentDayOfWeek
но это уже существует в форме DateTime.Now.DayOfWeek
вот почему я удалил переменную из моего примера.
Если вы хотите сохранить time_now для последующего использования, вы должны заключить присвоение в оператор if в паратезы.
var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && (time_now = DateTime.Now.Hour) == 9)
{
//do something
}