我有一个wpf(windows)应用程序 我有一个带有值StartDate,EndDate,ReminderDate的SQL Server数据表。 为此,我想在ReminderDate == Today时自动应用一个弹出消息框。 ReminderDate是EndaDate之前的15天。 我尝试了几种方法,但无法正确获取消息。
这是我尝试过的。
非常感谢任何样品。
string todayDate = DateTime.Now.ToString("dd/MM/yyyy");
string reminderDate = DateTime.Now.AddDays(15).ToString();
string date2 = reader["ReminderDate"].ToString();
string regNo = reader["RegistrationNo"].ToString();
DateTime expiryDate = Convert.ToDateTime(reader["ReminderDate"]);
if (expiryDate.Date == DateTime.Now.Date)
{
MessageBox.Show("Renew Revenue / Insurance", "Renew Alert", MessageBoxButton.OK, MessageBoxImage.Warning);
}
else if (expiryDate.Date == DateTime.Now.AddDays(15))
{
MessageBox.Show(" Revenue Insurance Due in 15 Days ", "Renew", MessageBoxButton.OK, MessageBoxImage.Warning);
}
答案 0 :(得分:0)
那是因为您正在使用System.DateTime.Now.Date。
请注意,expiryDate.Date
可能不等于DateTime.Now.Date
,因为时间可能会不同。
例如:
expiryDate.Date
= 1/29/2019 01:24:36 AM
AND
DateTime.Now.Date
= 1/29/2019 12:00:00 AM
答案 1 :(得分:0)
在不查看您的机器设置的情况下很难回答,但我怀疑您是美国文化或其他人。试试这个:
DateTime expiryDate = DateTime.ParseExact(reader["ReminderDate"], "dd/MM/yyyy", CultureInfo.InvariantCulture);