检查日期是否在日期范围内

时间:2016-09-20 10:20:54

标签: c# asp.net date datetime

我有一个GridView,如果列中的日期在特定日期范围内,我想更改行的颜色。

DateTime dt = new DateTime();
if (DateTime.TryParse(c.Text, out dt))
{
    if (dt.Date >= DateTime.Now.AddDays(Mod.ValidUntilDays).Date && dt.Date <= DateTime.Now.AddDays(Mod.ValidUntilDays).Date)
     {
         e.Item.Style.Add("background-color", "#FF0303");
     }
}

因此来自网格的值dt.Date等于23/09/2016 00:00:00,我要检查的日期范围是25/09/2016 00:00:00Mod.ValidUntilDays只是为今天的日期增加了5天。

所以我要做的是在5天的范围内检查是23/09/2016 00:00:00,但是代码永远不会进入if语句。

1 个答案:

答案 0 :(得分:6)

您要求日期为&gt; = 5天时间和&lt; = 5天时间。所以,除非它= = 5天时间,否则它将返回false。我想你的意思是:

DateTime dt = new DateTime();
if (DateTime.TryParse(c.Text, out dt))
{
  DateTime now = DateTime.Now;
  if (dt.Date >= now.Date && dt.Date <= now.AddDays(Mod.ValidUntilDays).Date)
  {
     e.Item.Style.Add("background-color", "#FF0303");
  }
}