我试图在今天的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;
// .....
}
答案 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);
}
}