繁体   English   中英

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

[英]check if number of days has passed since a date

我试图检查自日期以来是否经过了一定的天数,然后它是否更改了网格行的颜色。 因此,如果日期是2016年12月11日,我想检查自该日期以来是否已经过10天。

if (dt.Date > dt.Date.AddDays(10))
{
     e.Item.Style.Add("background-color", "#C400F9");
     break;
}

因此,将第12天增加10天将是22/11/2016,而由于今天是23/11/2016,这意味着已经过去了10天。 但是网格中的所有行都将变为颜色。 我是否需要添加另一个if语句来比较日期+经过的日期与今天的日期?

您是要使用今天的日期吗? 如果是这样,那就是DateTime.Now

if (DateTime.Now > dt.Date.AddDays(10))

目前,您正在将dt.Date与同一日期加10天进行比较-正如其他人指出的那样,这将永远无法实现。

更新。 正如Tim在评论中建议的那样,使用DateTime.Today可能更合适。

DateTime d1;
DateTime d2;

if((d1 - d2).TotalDays == 10)
{
  //some code
}

您的问题在于您的比较。 您试图确定dt是否大于dt +10。显然,它永远不会成立。

您的比较永远不会是正确的,就像这样做:

如果(10> 10 + 10)...

您要做的是使用DateTime.Now将日期之后的10天与今天进行比较。

if (DateTime.Now.Date> dt.Date.AddDays(10).Date)
{
    e.Item.Style.Add("background-color", "#C400F9");
    break;
}
if (DateTime.Now.Date > dt.Date.AddDays(10))
{

}

您可以尝试一下吗,X下方是您要与之比较的日期(它可能来自db或硬编码日期)

if (X > dt.Date.AddDays(10))
        {
            e.Row.Attributes.Add("background-color", "#C400F9");
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM