问题来自 MS Outlook 日历行为。
想象一下,我有两个重复发生的事件(从今天开始):“每个第二个星期一”和“每个奇数日期”。有什么方法可以检查交叉点和/或通过算法找到第一个交叉日期,而不需要对每个日期进行暴力破解?
可以用 CRON 的符号或 ICal 符号进行定义。我觉得没关系。
公历中是否有任何解决方案?
UPD:了解 MS Outlook 日历如何处理这些事件也很有趣。我的意思是它是如何发现那个前任的。今天有两个活动?我想也应该是确定具体日期是否适合重复事件定义的技术。
形式上它可以描述为两个函数算法:
Date:intersection(Event e1, Event e2)
boolean:contains(Date date, Event ev)
关于限制,我们可以从事件定义符号开始。您可以在 Outlook(或 iCal)中看到,您可以定义不那么复杂的重复事件。