在某些时间之间改变背景图像

时间:2012-09-01 12:47:14

标签: c# datetime background

我有一个网站,我希望背景在18:00和06:00(晚上7点和早上6点)之间切换。我尝试过使用DateTime的解决方案,但我无法让它工作:

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

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

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:4)

TimeOfDay返回TimeSpan而不是int。在TimeSpan,你有一个小时属性,可以满足你的需要。

    TimeSpan time = DateTime.Now.TimeOfDay; 

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

答案 1 :(得分:3)

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

实现它的最简单方法是使用DateTime.Now.Hour,因此它看起来像:

int time = DateTime.Now.Hour

答案 2 :(得分:0)

我认为您需要使用DateTime.Now.TimeOfDay;而非.Today,因为.Today属性仅包含时间设置为午夜的日期。

同样.TimeOfDay会返回TimeSpan而不是int,因此您需要相应地调整if语句。如果您只对小时组件感兴趣,可以使用DateTime.Now.Hour,这将返回一小时。