日期:2014-05-18 浏览次数:21370 次
private void button1_Click(object sender, EventArgs e) { timer1.Interval = 500; timer1.Start(); } string lastRunTime = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); private void timer1_Tick(object sender, EventArgs e) { DateTime dtNow=DateTime.Now ; if (DateTime.Now.ToString("yyyy-MM-dd") > lastRunTime && DateTime.Now.Hour = 8) { lastRunTime = DateTime.Now.ToString("yyyy-MM-dd"); // 获取数据 } }
------解决方案--------------------
windows服务定时执行
或
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Interval = 1000;
myTimer.Enabled = true;
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{
}
------解决方案--------------------
如果只是关注在全天的非运行时间里定时器对系统的影响,那么实现起来很简单,两级定时器,每一级全天运行,时长很长,设为系统允许的最长时间,假设为 X 分钟一次。当该定时器发现与应运行时间小于 Y 分钟(y < X)时,则二级定时器开机,它的时长设定为需求所规定的精度。当软件完成时,关闭二级,开启一级。
------解决方案--------------------
我是初学者,有一个很傻的办法, 你在获取当前时间时,去判断当前时间是否是你想要的时间如果是你就开启一个时间控件,在时间控件里写上你想要执行的事件,见笑了、、、、、
------解决方案--------------------
我觉得可以这样,先程序启动的时候获取系统时间再化成秒,在把你需要程序启动时间化成秒,然后相减获得相差时间,在定义个TIMER设定过多少秒后执行你的代码
------解决方案--------------------
windows服务定时执行
------解决方案--------------------
timer控件不会影响太多的性能,可以启动单独的线程进行定时判断
------解决方案--------------------
------解决方案--------------------
使用WINDOWS自己带的计划任务
------解决方案--------------------
基本上就是用Timer,如果你的定时不需要精确到秒,你可以把Timer时间差距调成1分钟(60000),基本上不占用什么资源
------解决方案--------------------