title: Date(string) shows different date and time using toLocaleString
body: <p>I want to turn the string <code>1822-01-01 00:00:00</code> into a date by:</p>
  
  <pre><code>var d= new Date("1822-01-01 00:00:00");
  </code></pre>
  
  <p>What I expect using <code>d.toLocaleString()</code> is <code>1.1.1822, 00:00:00</code>, but what I get is <code>31.12.1821, 23:53:28</code>.</p>
  
  <p>See fiddle: <a href="https://jsfiddle.net/f1kLpfgd/" rel="nofollow noreferrer">https://jsfiddle.net/f1kLpfgd/</a></p>
  
  <p><a href="https://stackoverflow.com/questions/18774293/javascript-date-string-constructing-wrong-date">Javascript Date string constructing wrong date</a> explains the wrong date with time zones. I have a different problem, as even minutes and seconds differ from my input. The solution using the <code>new Date(1822, 0, 1, 0, 0, 0, 0)</code> constructor does not work for me, as the result is <code>31.12.1821, 23:53:28</code>.</p>
  
  <p>Is it because the year is before 1901? But even 1899 works perfectly fine...</p>
  
  <p><strong>Update</strong></p>
  
  <p>For the formatting example custom VS toLocaleString, see updated fiddle: <a href="https://jsfiddle.net/f1kLpfgd/8/" rel="nofollow noreferrer">https://jsfiddle.net/f1kLpfgd/8/</a></p>