gpt4 book ai didi

c - 管理时间表 C 中的重复事件

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:52 25 4
gpt4 key购买 nike

--更新--

好的,这就是我到目前为止的想法。

对于应该每两周举办一次的事件来说,这就是我所做的。

  1. 将计划时间戳和当前时间戳转换为 unix 时间
  2. (schduleTime - currentTime) % 14//14 因为 2 周有 14 天,它可以是任何数字
  3. 这会告诉我今天是不是自上次事件开始后的两周。

对于应该每 x 月或年运行一次的事件

在进行实际计算之前还需要执行一些其他检查

比如确保 sch 时间是正确的......等等

  1. 确保今天与 sch 中的日期相同
  2. 一旦日期正确,则“(ScheduelMonth - currentMonth) % 2”假设它应该每 2 个月运行一次

现在是一个简单的例子

每3个月一个事件的开始时间戳2010-11-23

现在假设今天是 2011 - 02 - 23

那么计算将如下所示。

if( Sch_Date == Current_Data )//if( 23 == 23 )

if( !((Sch_Month - Current_Month) % 3) )//if( !( (11-2)%3 )//等于零

我希望这是有道理的,如果我遗漏了什么,请告诉我

1.

你好,

我正在对 STM32 微型计算机进行编程,我需要创建一个调度引擎,以允许用户安排任务在给定的时间和间隔发生。

我有一个 RTC,可以为我提供当前时间戳。我遇到困难的部分是如何处理重复发生的事件。

即。

如果用户希望每周、每两周、每月或每年运行某项内容,每周五运行一次。

用户向我提供了开始和结束时间以及一个循环标志,告诉我他希望它在哪几天运行以及多久运行一次。

我希望我说得够清楚了。

如果您有任何想法和/或问题,我们将不胜感激

更新

这是我的具体问题。

我让设备经常检查以查看是否有任何计划条目应该开始。我认为通过示例描述它的最佳方式

用户发送这个事件

开始时间2010 年 11 月 9 日星期二 16 月 30 日 00

结束时间2012年11月09日

每两周的星期二重复标记

我可以检查事件是否准备好开始,但我如何处理它只应该每两周发生一次的事实我需要一些帮助编写算法来处理递归

最佳答案

根据您描述的具体问题:

对于每个新条目,计算并记录事件需要触发的第一次时间戳(例如 2010-11-09_16:30)。当事件触发时,根据flags(如2010-11-23_16:30)计算事件需要触发的时间戳,并替换记录.

请注意,最好将所有时间戳转换为标准的内容,例如 Unix time .

关于c - 管理时间表 C 中的重复事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com