title: DateTime.Now is throwing an exception
body: <p>I am getting an exception thrown on DateTime.Now on our server running a few websites. This has now happened twice to me in the past 3 days. Really strange. I am wondering whether this has started to happen with the latest Windows Update and if any of you have seen similar behaviour coming in. </p>
  
  <p>The exception thrown is:</p>
  
  <pre><code>BASE EXCEPTION:
    TYPE: System.ArgumentOutOfRangeException
    MESSAGE: Value to add was out of range.
  Parameter name: value
    STACK TRACE:
     at System.DateTime.Add(Double value, Int32 scale)
     at System.TimeZoneInfo.TransitionTimeToDateTime(Int32 year, TransitionTime transitionTime)
     at System.TimeZoneInfo.GetDaylightTime(Int32 year, AdjustmentRule rule)
     at System.TimeZoneInfo.GetIsDaylightSavingsFromUtc(DateTime time, Int32 Year, TimeSpan utc, AdjustmentRule rule, Boolean&amp; isAmbiguousLocalDst)
     at System.TimeZoneInfo.GetDateTimeNowUtcOffsetFromUtc(DateTime time, Boolean&amp; isAmbiguousLocalDst)
     at System.DateTime.get_Now()
     at (my code).FrontEnd.FrontEndPage.Page_Load(Object sender, EventArgs e) in (my code file)\code\presentation\FrontEndPage.cs:line 118
     at (my code).purchase.Page_Load(Object sender, EventArgs e) in (my code file)\purchase.aspx.cs:line 94
     at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
     at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
     at System.Web.UI.Control.OnLoad(EventArgs e)
     at System.Web.UI.Control.LoadRecursive()
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  </code></pre>
  
  <p>The code where this happens is the first line in the if-statement:</p>
  
  <pre><code>HttpCookie loggedIn = Request.Cookies[Config.Instance.LoggedInCookieName];
  if (loggedIn != null)
  {
      loggedIn.Expires = DateTime.Now.AddHours(4);
      Response.Cookies.Add(loggedIn);
  }
  </code></pre>
  
  <p>Although there is an AddHours in there and the exception is talking about DateTime.Add, I don't believe it has anything to do with the AddHours, but is caused by the call to Now as you can see in the stack trace.</p>
  
  <p>The server I am on is running Windows Server 2003, and is running the English (United Kingdom) locale.</p>
  
  <p>Thanks for any help.</p>