I'm looking for a data structure pattern for storing recurring events, but everything I came up with would result in a high number of special case handling or user input and data retrieval are overly complex. (I get the distinct feeling, that I haven't understand the problem domain well enough to do this.)
How can I store Outlook-style recurring events?
- Every day at 8am
- Every first tuesday in a month
- Every December 1st for three years
- Every two hours for a week
- ...