日期:2014-05-18 浏览次数:20479 次
private void timeSpanRemind()
{
DataTable dt = getRemindTime();
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["IsRemind"].ToString() == "True")
{
DateTime nowtime = DateTime.Now;
string temp = dt.Rows[i]["RemindTime"].ToString() + ":00";
DateTime remindtime = DateTime.Parse(temp);
int timespan = int.Parse(dt.Rows[i]["TimeSpan"].ToString());
int advancetime = int.Parse(dt.Rows[i]["AdvanceTime"].ToString());
string title = dt.Rows[i]["Title"].ToString();
Timer timer = new Timer();
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
double ts = timespan * 60000;
timer.Interval = ts;
if (DateDiff(remindtime, nowtime) == advancetime)
{
Page.RegisterStartupScript("", "<script>alert('" + temp + ",行动主题:" + title + "。离您的预约时间还有" + advancetime + "分钟,请查看日程安排!')</script>");
}
if (DateDiff(remindtime, nowtime) < advancetime)
{
timer.Enabled = true;
timer.Start();
}
}
}
}
//这是2个时间差的方法
private int DateDiff(DateTime DateTime1, DateTime DateTime2)
{
int dateDiff = 0;
try
{
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Minutes;
}
catch(Exception ex)
{
Page.RegisterStartupScript("", "<script>alert('"+ex.Message+"')</script>");
}
return dateDiff;
}
private void timer_Elapsed(object source, ElapsedEventArgs e)
{
Page.RegisterStartupScript("", "<script>alert('离您的预约时间就快到了!请查看日程表!')</script>");
}