我正在为客户端创建PHP / mySQL Calendar应用程序的规范。其中一个必须解决的问题是重复发生的事件,其发生率由规则设定,例如"每年第一个周末,周日是5月和#34;。客户希望能够设置类似于&#34的规则;每三个星期四3月 - 6月和#34;等
客户已要求他们能够定义这些内容,而不是在接下来的X年中预先填充事件发生率表。
是否有任何现有的日历解决方案允许这种基于模式的重复发生?
是否有任何日历系统根据这样的规则进行查询,而不是使用参数在创建或更新周期性事件时在事件表中生成重复事件的发生率?
到目前为止我正在阅读的内容:
一个。 http://martinfowler.com/apsupp/recurring.pdf
湾http://www.kanzaki.com/docs/ical/recur.html
℃。 http://tools.ietf.org/html/rfc5545#page-37
d。 http://tools.ietf.org/html/rfc5545#section-3.8.5.3
即iCal "Field" list (for database schema based on iCal standard)
F。 What's the best way to model recurring events in a calendar application?
克。 http://en.wikipedia.org/wiki/ICalendar#Technical%5Fspecifications
小时。 http://muddybranch.thejkgroup.com/2005/01/why-remove-icalendar-recurring-rules/
我。 Should I store dates or recurrence rules in my database when building a calendar app?
注意:这个建议存储重复规则并存储硬盘 未来x个月基于这些的实例。
Ĵ。 Data structure for storing recurring events?
ķ。 Should I store dates or recurrence rules in my database when building a calendar app?
我。将您的数据分为两部分:"规范"数据( 复发规则)和"服务" (生成日期;除了以外的只读 再生)。如果规范数据发生变化,请重新生成"服务" 那时的数据。对于无限重复,请保留一些数字 实例并在用完时生成更多(例如,如果用户查看 他们的2020年日历)。
1。 Calendar Recurring/Repeating Events - Best Storage Method模式和SQL的唯一答案
米。 https://github.com/tusharmath/sheql重复日期的语言
<磷>氮。 https://github.com/tplaner/When这看起来非常适合根据规则生成日期 - 包括RRULE的