2013-04-08 88 views
0

我想在if語句中的日期和時間等於true的情況下執行某些操作。我有一天下來,只是無法弄清楚時間部分。假設我想讓時間成爲上午9點。星期幾和星期幾在if語句中c#

這裏是我迄今爲止

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

我不能用這個,我得到一個錯誤:

Operator '&&' cannot be applied to operands of type 'bool' and 'System.TimeSpan'

感謝提前任何幫助。

+2

你想要做什麼與timepan'time_now'? – 2013-04-08 21:37:28

+0

注意這段代碼不會編譯,'time_now'沒有聲明。 – Clint 2013-04-08 21:40:36

+0

@Clint我們看到的編譯錯誤似乎表明'time_now'被聲明爲_somewhere_並且類型爲'System.TimeSpan'。這個表達式被編譯器解釋爲:'if(((dt_check_monday == DayOfWeek.Monday)&& time_now)=(DateTime.Now.Hour == 9))' – 2013-04-08 21:50:03

回答

0

我覺得time_now是有TimeSpan數據類型。所以你可以試試這個

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

謝謝薩欽,那有效。 – nate 2013-04-08 21:49:14

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形式存在,這就是爲什麼我放棄了變量從我的例子。

+0

我喜歡這種方式好得多...... 。謝謝 – nate 2013-04-08 21:50:23

0

如果您想保留time_now供以後使用,則必須在賦值語句中包含賦值語句和paratheses。

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