This question is kind of a subset of 90308
I'm looking for a good date library in any language which can handle periodic concepts
Date Ranges/sets which are independent of year:
  dr = 1 May - 31 August
  (4 May 2010) in dr
true
  (4 May 2011) in dr
true
  (4 March 2012) in dr
false
Day sets:
  ds = m tu w sa su
  (Mon, 4 May 2010) in ds
true
  (Thurs, 7 May 2010) in ds
false
Also nice set-like operations of the above such as intersection, union and inverse
Any ideas?