在代码中建立运行 prgram 的计时器
本文关键字:prgram 计时器 运行 建立 代码 | 更新日期: 2023-09-27 18:29:42
我有一个应用程序,我每 30 分钟使用 Windows 调度程序运行一次,我还有一个配置文件,它是一个称为 config 的数据表。 我正在浏览每一行,其中有一个计划列,如果时间在 30 分钟内,程序应该运行整个程序。时间窗口是 12:00:00 和 12:30:00 等等,可以看出我正在检查当前时间和行时间,可以看到吹,我将如何让它运行?
我尝试了下面的 if 语句,看看它是否只是当前时间运行,它不起作用,为什么会这样
TimeSpan time = DateTime.Now.TimeOfDay;
TimeSpan runningTime = DateTime.Parse(dr["scheduledTime"].ToString()).TimeOfDay;
if (time == runningTime)
如果时间不是整点或整点半,则 if 语句中的代码将无法运行,请尝试以下操作:
TimeSpan time = DateTime.Now.TimeOfDay;
TimeSpan runningTime = DateTime.Parse(dr["scheduledTime"].ToString()).TimeOfDay;
if (time >= runningTime && time <= (runningTime + new TimeSpan(0, 30, 0)))
当你的程序运行时,DateTime.Now.TimeOfDay
将包含类似于 13:27:37
的东西,这显然不等于 13:00:00
.因此,您要做的就是检查当前时间是否在 30 分钟内。我们通过检查自午夜以来经过的当前时间(这是DateTime
上的.TimeOfDay
给您的时间(大于或等于自您从DataTable
检索TimeSpan
的午夜以来经过的时间,并且它也小于或等于同一时间段加 30 分钟。