给定开始时间和以分钟为单位的间隔,确定当前时间是否为间隔



我在VB.NET中工作,但只是在寻找一个能给我带来以下结果的公式:

假设我有一个流程,需要在开始时间和结束时间之间每隔x分钟启动一次。每一分钟我都需要确定是否需要启动流程。

因此,如果我有以下内容:

StartTime = 8:00:00 AM
EndTime = 11:00:00 PM
IntervalMinutes = 7

我有一个定时器,每1分钟启动一次。我需要确定当前时间是否是启动流程的时间。

目前,我只使用一个循环,将IntervalMinutes添加到StartTime,并将其与当前时间和EndTime进行比较。如果StartTime=CurrentTime,则启动。如果StartTime>End Time,则退出循环。我知道它很笨重,但它很管用。然而,随着时间的推移,它必须迭代更多的分钟。我知道这必须有一个公式,但我的大脑已经因为搜索和思考而死亡。

我的伪模运算:

float tolerance = 0.0001f;
if((CurTime - StartTime) % IntervalMinutes <= tolerance)
{
    // Do something
}

您可以在应用程序启动时预先计算StartTime和EndTime之间的所有启动时间,将它们放在列表中,然后每次计时器启动时,您只需要检查当前时间是否==launchList[0]。如果它确实启动并从列表中删除该条目。

相关内容

  • 没有找到相关文章

最新更新