title: How does JavaScript Date.getTime() (milliseconds) map to a 64-bit float?
body: <p>I am confused about JavaScript's <code>Date</code> object and its <code>getTime()</code> method.
  From:
  <a href="https://stackoverflow.com/questions/11526504/minimum-and-maximum-date">Minimum and maximum date</a></p>
  
  <p>It says that the actual max and min. number of milliseconds (ms) representable by a JS <code>Date</code> object is (-/+)8.640.000.000.000.000 ms since 01 January, 1970 UTC.</p>
  
  <p>However, 8.640.000.000.000.000 requires 53 bits.</p>
  
  <p>On the other, hand, all JS numbers are 64-bit floats with only 52 fractional bits (excluding the sign bit).</p>
  
  <p>How can JS therefore store the result of <code>Date.getTime()</code> when <code>Date</code> is either the max or the min date value? It must use one of the exponent bits to do this, right?</p>
  
  <p>Does that also mean that converting a JS <code>Date</code> (via its number of ms) to int64 (e.g. for use in Qt) is not strictly possible?</p>