title: How to group a period of time into yearly periods ? (split timespan into yearly periods)
body: <p>I have a range of two datetimes:</p>
  
  <pre><code>DateTime start = new DateTime(2012,4,1);
  DateTime end = new DateTime(2016,7,1);
  </code></pre>
  
  <p>And I wish to get all periods GROUPED BY YEAR between this period. Meaning the output has to be:</p>
  
  <pre><code>2012-04-01 - 2012-12-31
  2013-01-01 - 2013-12-31
  2014-01-01 - 2014-12-31
  2015-01-01 - 2015-12-31
  2016-01-01 - 2016-07-01
  </code></pre>
  
  <p>Preferably the output would be in <code>IList&lt;Tuple&lt;DateTime,DateTime&gt;&gt;</code> list.</p>
  
  <p>How would you do this ? Is there anyway to do this with LINQ somehow ?</p>
  
  <p>Oh and daylight saving time is not absolutely critical, but surely a bonus.</p>
  
  <p>Thanks!</p>