存储重复时间窗口的首选方法是什么?
例如.如果我有一个日历系统,我需要能够容纳每日,每周或每月的重复活动,那么什么样的时间管理系统最好?
如何在数据库中最好地表示?
更多细节
这个目的的具体目标是提供一组开放时间窗口.一旦我们有了这些时间窗口,代码就需要测试到达系统的消息是否属于其中一个时间窗口.
最佳答案 我将创建一个RecurrenceType表,该表将保存日历系统支持的每种重复类型的记录. CalendarEvents表中的每个事件都将引用RecurrenceType表中的ID.
然后我会在代码中有一个RecurrenceRules对象,该对象将保存计算下一个日期何时将被赋予当前或开始日期的业务逻辑,或者将下一个N个日期作为数组检索.
大多数重复逻辑可能必须使用基于RecurrenceType表的ID的枚举值进行编码.如果你能把它全部数据驱动,我会感到惊讶,除非它是一个非常简单的日历系统.
希望有所帮助.这听起来像一个有趣的项目.