0

如果一天中的一天和一天中的时间在 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

4 回答 4

1

= 是一个任务。== 是“等于”

你的第二个 = 应该是 ==

于 2013-04-08T21:35:46.157 回答
1

你应该这样做:

if (DateTime.Now.DayOfWeek == DayOfWeek.Monday && DateTime.Now.Hour == 9)
{

}

您的代码对未声明的变量进行了赋值,time_now而您正在执行的赋值time_now =是导致它失败的原因。

您还应该考虑修改命名变量的dt_check_monday方式,如果其中的值是 ,则绝对没有任何意义DayOfWeek.Wednesday,请考虑将其更改为类似dt_currentDayOfWeek但已经存在的形式,DateTime.Now.DayOfWeek这就是我从示例中删除变量的原因。

于 2013-04-08T21:36:10.973 回答
0

如果您想保留 time_now 以供以后使用,则必须用括号将 if 语句中的赋值括起来。

var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && (time_now = DateTime.Now.Hour) == 9)
{
    //do something
}
于 2013-04-08T21:37:14.497 回答
0

我认为time_nowTimeSpan数据类型。所以你可以试试这个

if (dt_check_monday == DayOfWeek.Monday && time_now.Hours == 9)
 {
    //do something
 }
于 2013-04-08T21:39:31.433 回答