C#,试着用今天的日期检查过期日期

时间:2017-02-22 16:51:36

标签: c#

我试图在今天的21天之内突出显示到期日期,它似乎在很大程度上起作用。但是,它似乎也在强调明年的日期。例如:今天2017年2月22日,它突出显示2/28/2017的过期日期。但它也突出了2/29/2018,这是从现在开始的整年。我如何获得它还包括年度检查。现在只是几天。 我在下面使用的代码:

var now = DateTime.Now;
var expirationDate = DateTime.Parse(row.Cells[2].Value.ToString());
var TwentyOneDays = expirationDate.AddDays(-21);

var TenDays = expirationDate.AddDays(-10);

if (now > TwentyOneDays && now < expirationDate)
{
     row.DefaultCellStyle.BackColor = Color.LightSkyBlue;
     row.Cells[2].Style.BackColor = Color.Yellow;

     // .....
}

2 个答案:

答案 0 :(得分:1)

我建议你使用TimeSpan来了解两个日期之间的区别。 e.g。

DateTime expirationDate = DateTime.Now.AddDays(21);
DateTime now = DateTime.Now;

TimeSpan diff = expirationDate - now;

int days = diff.Days; // This would give 20

https://msdn.microsoft.com/en-us/library/system.timespan(v=vs.110).aspx

答案 1 :(得分:0)

希望该代码对您有所帮助。如果您已经设置了所需的到期日期。那么我们就会得到今天的日期。

下面的代码将检索到当前日期为止的所有期望的到期日期。

private void getexpireddate()
{
try
{
MySqlConnection con = new MySqlConnection(conn);
connect.Open();
string sql="SELECT expireddate FROM data1 where date(date) = date(now())";
MySqlDataAdapter da = new MySqlDataAdapter(sql, con);
DataTable ds = new DataTable();
da.Fill(ds);
datagrid.DataSource=ds;

}
catch(Exception ee)
{
Console.WriteLine(ee.Message);
}
}