2012-09-01 48 views
0

我有一個網站,我想要在18:00和06:00(7PM和6AM)之間更改背景。我曾嘗試使用DateTime一個解決方案,但我不能得到它的工作:在某些時間段之間更改背景圖片

protected void Page_Load(object sender, EventArgs e) { 
    int intTime = DateTime.Today.TimeOfDay; 

    if (intTime >= 1300 && intTime <= 0600) { 
     ImgNatPic.ImageUrl = "img/jantelov.jpg"; 
    } 
} 

誰能幫助?

+1

'TimeOfDay'是'TimeSpan'不是'int'。這甚至沒有編譯。 – verdesmarald

回答

4

TimeOfDay返回TimeSpan不是int。在TimeSpan你有一個小時屬性,給你你需要的東西。

TimeSpan time = DateTime.Now.TimeOfDay; 

    if ((time.Hours >= 18) || (time.Hours <= 6)) 
    { 
     ImgNatPic.ImageUrl = "img/jantelov.jpg"; 
    } 
+0

由於'Today'總是在午夜,所以可能想使用'DateTime.Now'。 – verdesmarald

0

我認爲你需要使用DateTime.Now.TimeOfDay;而非.Today.Today屬性包含僅設置爲午夜時間日期。

另外.TimeOfDay返回TimeSpan而不是int,所以你需要相應地調整你的if語句。如果您只對小時組件感興趣,則可以使用DateTime.Now.Hour,這將返回一小時。

3

DateTime.Today.TimeOfDay返回Timespan,不是int!

實現這一目標最簡單的方法是使用DateTime.Now.Hour所以它看起來像:

int time = DateTime.Now.Hour