private DateTime LastSendTime = DateTime.Today; private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DateTime now = DateTime.Now;
if (now.Hour == 9)
{
TimeSpan span = now - LastSendTime;
if (span.TotalHours > 1)//防止同一小时内重复发送
{
LastSendTime = now;
SendMail();
}
}
}
{
DateTime now = DateTime.Now;
if (now.Hour == 9)
{
TimeSpan span = now - LastSendTime;
if (span.TotalHours > 1)//防止同一小时内重复发送
{
LastSendTime = now;
SendMail();
}
}
}
t.Elapsed += new System.Timers.ElapsedEventHandler(TimeElapse);
t.AutoReset = true;
t.Enabled = true;
public void TimeElapse(object source, System.Timers.ElapsedEventArgs e)
{
if(DataTime.Now.hour==9 && DataTime.Now.Minutes==3)或DateTime.Now.ToString("HHmm").Equals("0903")
{//sendmail}
}
{
DateTime now = DateTime.Now;
//时间片太小,在系统警张情况下,不保证执行过程中被跳过去,所以分钟用>=3判断
if (now.Hour == 9 && now.Minute >= 3)
{
TimeSpan span = now - LastSendTime;
if (span.TotalHours > 1)//保证在9:03分以后只发送一次
{
LastSendTime = now;
SendMail();
}
}
}