我想在某个时间运行某些功能。我试过Timer控件。它不起作用。我的问题是:如何在C#每天19:00运行一个函数? 有没有办法检查时间并有一个Timer对象?
计时器代码:
int Interval(TimeSpan gorevZamani)
{
if ((gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds > 0.0)
return (int)(gorevZamani - DateTime.Now.TimeOfDay).TotalMilliseconds;
else
return (int)((gorevZamani - DateTime.Now.TimeOfDay).Add(TimeSpan.FromDays(1)).TotalMilliseconds);
}
答案 0 :(得分:1)
使用计划任务。执行此操作的一种好方法是at
命令,记录在MSDN here上。
答案 1 :(得分:1)
可能重复:C# Execute function at specific time人建议使用Quartz.NET或Windows任务计划程序。
这两个选项最终都可以实现这个目的,但我相信,正如我在类似的先前问题中已经提出过几次,Windows任务计划程序更好,因为你没有为它编写任何代码,让Windows为你做日程安排,你只专注于应用程序的真实业务案例,这是Windows无法为您做的事情,然后依靠现有技术将事物粘合在一起,无需调试或重新发明已完成的工作并且无论如何都可以使用。