I'm aware of iCal's RECUR value but I'm not sure how flexible it is. Are there any other formats that can represent arbitrarily complex recurrence schedules? I'd like to use a standard because the component I'm writing is meant to interface with other applications I've written and ideally third party applications.
Something like:
start: date/time/time zone
repeat: every 2nd Monday, 3rd Tuesday, and all weekends
except: specific date
end: date/time/time zone
start again: ... etc
or
repeat: 1pm-2pm, 4pm-5pm every MWF
end: date/time/time zone