对于定期或重复日期,什么是良好的数据结构?

yuk*_*ude 10 date recurring data-structures

是否存在用于存储定期或重复日期的已发布数据结构?可以处理的东西:

  1. 泵需要每五天回收一次.
  2. 发薪日是每隔一个星期五.
  3. 感恩节是10月的第二个星期一(美国:11月的第四个星期四).
  4. 情人节是每年的2月14日.
  5. Solstice(通常)每年6月21日和12月21日.
  6. 复活节是在春分之日或之后的第一个满月之后的星期日(好吧,这个有点拉伸).

我认为cron内部数据结构可以处理#1,#4,#5(两个规则),也许#2,但我还没有看过它.MS Outlook和其他日历似乎能够处理前五个,但我没有那个源代码.

mgc*_*gcm 6

使用iCalendar实现库,如下所示:ruby,java,php,python,.netjava,然后添加对计算特殊日期的支持.