title: C# DateTime not recognising timezone change (BST)
body: <p>A few weeks ago, on 27th March 2016, the clocks in the UK went forward by one hour. At 01:00, the clocks 'jumped' forward to 02:00</p>
  
  <p><a href="http://www.timeanddate.com/time/dst/events.html" rel="nofollow">http://www.timeanddate.com/time/dst/events.html</a></p>
  
  <p>This means that "27 Mar 2016, 01:30", is an invalid datetime, i.e. it does not represent a time that actually 'happened'.</p>
  
  <p>This recently caught us out when a Java date time parser was unable to understand the time we passed to it. However, the C# DateTime doesn't appear to have any problem with it at all.</p>
  
  <pre><code>DateTime dt = DateTime.Parse("2016-03-27 01:30:00"); 
  bool invalid = TimeZoneInfo.Local.IsInvalidTime(dt);
  </code></pre>
  
  <p>Although <code>invalid</code> is correctly set to <code>true</code>, <code>DateTime</code> doesn't appear to have any problem storing it.</p>
  
  <p>Moreover, the following statement:</p>
  
  <pre><code>diff = new DateTime(2016, 3, 27, 2, 30, 0) - new DateTime(2016, 3, 27, 0, 30, 0);
  </code></pre>
  
  <p>results in a TimeSpan representing 2 hours, which is not correct.</p>
  
  <p>Why does the DateTime type not account for DST?</p>