我正在尝试检查自某个日期以来是否已经过了一定天数,然后是否更改了网格行的颜色。 因此,如果日期是2016年11月12日,我想检查自该日期起是否已过去10天。
if (dt.Date > dt.Date.AddDays(10))
{
e.Item.Style.Add("background-color", "#C400F9");
break;
}
所以在12日增加10天将是2016年11月22日,而今天是2016年11月23日,这意味着10天过去了。但是网格中的所有行都会变为颜色。我是否需要添加另一个if语句来比较日期+过去今天的日期?
答案 0 :(得分:5)
您的意思是使用今天的日期吗?如果是,那就是DateTime.Now
:
if (DateTime.Now > dt.Date.AddDays(10))
目前,您正在将dt.Date
与同一日期加上10天进行比较 - 正如其他人所指出的那样,这将永远无法实现。
更新。正如蒂姆在评论中建议的那样,使用DateTime.Today
可能更合适。
答案 1 :(得分:1)
DateTime d1;
DateTime d2;
if((d1 - d2).TotalDays == 10)
{
//some code
}
答案 2 :(得分:0)
你的问题在你的比较中。你试图找出dt
是否大于dt
+ 10.显然它永远不会成真。
答案 3 :(得分:0)
你的比较永远不会成真,就像这样做:
如果(10> 10 + 10)......
您要做的是使用DateTime.Now
将日期后10天与今天进行比较答案 4 :(得分:0)
if (DateTime.Now.Date> dt.Date.AddDays(10).Date)
{
e.Item.Style.Add("background-color", "#C400F9");
break;
}
答案 5 :(得分:0)
if (DateTime.Now.Date > dt.Date.AddDays(10))
{
}
答案 6 :(得分:0)
你能试试吗,X以下是你要比较的日期(它可能来自db或硬编码日期)
if (X > dt.Date.AddDays(10))
{
e.Row.Attributes.Add("background-color", "#C400F9");
}