title: How to properly calculate remaining time in JS using getTime() from the two dates?
body: <p>I'm trying to calculate remaining time (ex: 10 years, 2 months and 10 days from today(2014/03/02) in JS using this function:</p>
  
  <pre><code>var d2 = new Date(2024, 3, 12);
  var d1 = new Date();
  var d0 = new Date(1970, 0, 1);
  
  var diff = new Date(d2.getTime() - (d1.getTime() + d0.getTime() ) );
  var years = diff.getFullYear();
  var months = diff.getMonth();
  var days = diff.getDay();
  
  alert("remaining time = " + years + " years, " + months + " months, " + days + " days.");
  </code></pre>
  
  <p>But instead of get the 10 years difference, I got 1980 years difference (though the days difference I understand that are produced buy the variation of days in months and years):</p>
  
  <p><img src="https://i.stack.imgur.com/JPuAl.png" alt="enter image description here"></p>
  
  <p>Is it possible to perform this "remaining time" operation using this strategy? If so, how to get the expected result?</p>
  
  <p>Here the function in a JS shell: <a href="http://jsfiddle.net/3ra6c/" rel="noreferrer">jsfiddle.net/3ra6c/</a></p>