检查自日期以来是否已经过了天数

时间:2016-11-23 12:51:39

标签: c# asp.net date

我正在尝试检查自某个日期以来是否已经过了一定天数,然后是否更改了网格行的颜色。 因此,如果日期是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语句来比较日期+过去今天的日期?

7 个答案:

答案 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");
        }