c语句中的星期几和小时c#

时间:2013-04-08 21:34:11

标签: c# datetime if-statement dayofweek timeofday

如果白天和时间在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 个答案:

答案 0 :(得分:1)

=是一项任务。 ==是'等于'

你的第二个=应该是==

答案 1 :(得分: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 {{1}}的形式,这就是我从我的例子中删除变量的原因。

答案 2 :(得分:0)

如果要保留time_now供以后使用,则必须使用paracheses在if语句中包含赋值。

var dt_check_monday = DateTime.Now.DayOfWeek;
if (dt_check_monday == DayOfWeek.Monday && (time_now = DateTime.Now.Hour) == 9)
{
    //do something
}

答案 3 :(得分:0)

我认为time_now具有TimeSpan数据类型。所以你可以试试这个

if (dt_check_monday == DayOfWeek.Monday && time_now.Hours == 9)
 {
    //do something
 }