title: Moment.js months difference
body: <p>I've been using moment.js for a short while now, and it's made date manipulation a lot easier but I have a specific case that is failing, and I can't see why.</p>
  
  <p>When calculating the diff between today (31st October 2013) and the 1st February 2014, the months diff comes back as 2, although there are 3 complete months and one day between the two dates.</p>
  
  <p>Diff between 31st October and 31st January works fine: 3 months and zero days.</p>
  
  <pre><code>var mStartDate = moment([ periodStartDate.getFullYear(), periodStartDate.getMonth(), periodStartDate.getDate() ]);
  var mTermDate = moment([ someDate.getFullYear(), someDate.getMonth(), someDate.getDate() ]);
  
  console.log('periodStartDate: ' + periodStartDate);
  console.log('someDate: ' + someDate);
  
  // Years
  var yearsDiff = mTermDate.diff(mStartDate, 'years');
  
  // Months
  var monthsDiff = mTermDate.diff(mStartDate, 'months', true);
  </code></pre>
  
  <p>The console logs the following:</p>
  
  <pre><code>periodStartDate: Thu Oct 31 2013 11:13:51 GMT+0000 (GMT)
  someDate: Sat Feb 01 2014 11:13:51 GMT+0000 (GMT)
  monthsDiff: 2
  </code></pre>
  
  <p>If I pass true as the boolean not to round, the months diff is</p>
  
  <pre><code>monthsDiff: 2.983050847457627 
  </code></pre>
  
  <p>Is this just a bug in Moment.js.diff()? Every single one of my other test cases pass successfully.</p>