日期:2014-05-18 浏览次数:20420 次
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>"); }