最近写了一个winform程序,需要每天在用户指定的时间向服务器获取数据,比如说每天早上的八点半,到八点半时程序执行获取数据的方法,请问我怎么在指定的时间到时触发获取数据的方法呢?timer好像是每隔一段时间执行一个方法,请高手帮助下,谢谢!
解决方案 »
- 求助:C#中怎么把固定格式的.txt转换成Excel
- 访问数据库疑难问题,高手请进
- 请问如何把这种格式的时间Tue Nov 03 00:00:00 CST 2009转换成datetime类型的?
- DataSet 数据库Access
- 有没有什么好的控件画一棵树
- 如何在visio中添加数据类型DateTime
- 请问,在WEB中,<%# %> 与 <%=%> 有什么 区别了? 谢谢
- C# 打印子窗体
- 右键菜单添加了自己的应用程序,想在某一文件夹上用右键菜单快速启动程序,请问怎样把路径传给应用程序,程序如何接受路径?
- 请教怎样调用扫描仪
- winform中怎样使DataGridView的某一列可以添加两个Button控件
- 求助如何实现公式的后台解析。
可以获取当前时间年月日时分秒都行
currentTime.Minute //分不过让timer运行24小时,每秒判断,就得很那个
用timer每隔一秒用datetime获取一次的本机的时间再把转换成string型,要和你上面定义的时间格式一致,用if判断,如果等于上面定义的string time就执行函数。
另外在WndProc中检测是否有WM_TIMECHANGE消息产生,有就说明有人修改了系统时间,那你记下当前的时间,重新计算间隔,重新设置timer的interval就可以了,占用资源的也很少.
{
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"); // 获取数据
}
}
或
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)
{
}
公司领导每天都需要一些报表
开发的C#程序只要能够实现这抓报表的功能就行了然后就是用WINDOWS自己带的计划任务,想安排在什么时候执行都可以计划任务完全可以实现楼主想要的
2. 控制面版-->計劃任務-->新建任務-->運行控制台程序
然后将timer的间隔时间设为这个数,下一次执行方法时,自然timer的间隔时间要设置为24小时了。