title: End of month calculations
body: <p>Just wondering if any know of an elegant solution for the following. </p>
  
  <p>If I have 30 June 2009 and I add a month I want it to go to 31 July 2009, not the 30 July 2009. </p>
  
  <p>This logic is based on the fact that the 30 June 2009 was the end of the month of June and when I add a month I want to go to the end of the next month.</p>
  
  <p>But if I have 29 June 2009 and I add a month it should go to 29 July 2009. </p>
  
  <p>Note I need to be able to add any number of months and I need to take into account leap years.</p>
  
  <p>Also I know the logic here is questionable but it is a business requirement that works with end of month contracts going to the end of the month for a month in the future.</p>
  
  <p>I have thought of several solution but none that are very elegant. Hence I was thinking someone might have a better way.</p>
  
  <p>Cheers
  Anthony </p>