title: .Net Core System.Text.Json fails with min datetime and UTC offset
body: <p>I've been migrating from 2.2 to 3.0 and so far everything has been pretty smooth however when replacing Newtonsoft with the new System.Text.Json I run into the following problem.</p>
  <p>When trying to deserialize a DateTime min value with a UTC offset it throws the following exception</p>
  <blockquote>
  <p>Unhandled exception. System.Text.Json.JsonException: The JSON value
  could not be converted to System.DateTime. Path: $.DateCreated |
  LineNumber: 2 | BytePositionInLine: 43</p>
  </blockquote>
  <p>Example:</p>
  <pre><code>using System;
  using Newtonsoft.Json;      
  
  class Program
  {
      static void Main(string[] args)
      {
          var json = &quot;{\&quot;MyDateTime\&quot;: \&quot;0001-01-01T00:00:00+01:00\&quot;}&quot;;
                  
          var newtonDeserialized = JsonConvert.DeserializeObject&lt;Class&gt;(json);
  
          //Bad things happen here.
          var systemDeserialized =  System.Text.Json.JsonSerializer.Deserialize&lt;Class&gt;(json);
          
          Console.WriteLine(newtonDeserialized.MyDateTime);
          Console.WriteLine(systemDeserialized.MyDateTime);
      }
  }
  
  class Class
  {
      public DateTime MyDateTime {get; set;}
  }
  </code></pre>
  <p>Online example can be found here <a href="https://dotnetfiddle.net/rG9nMy" rel="nofollow noreferrer">Fiddle</a>.</p>
  <p>I guess I could write my own DateTime serializer but there must be an easier/cleaner way to accomplish what Newtonsoft did without any configuring.</p>
  <p>This is happening on <code>3.0.100</code>, <code>3.1.500</code>, <code>5.0.100</code> and <code>6.0.100</code></p>