我有一个网站,我希望背景在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";
}
}
有人可以帮忙吗?
答案 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
,这将返回一小时。