Момент.js месяцев разница
мы уже некоторое время использовали moment.js, и этоэто сделало манипулирование датами намного проще, но у меня есть конкретный случай, который терпит неудачу, и я могуне понимаю почему.
При расчете разницы между сегодняшним днем (31 октября 2013 года) и 1 февраля 2014 года разность месяцев возвращается как 2, хотя между двумя датами есть 3 полных месяца и один день.
Разница между 31 октября и 31 января работает нормально: 3 месяца и ноль дней.
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);
Консоль регистрирует следующее:
periodStartDate: Thu Oct 31 2013 11:13:51 GMT+0000 (GMT)
someDate: Sat Feb 01 2014 11:13:51 GMT+0000 (GMT)
monthsDiff: 2
Если я передаю значение true, поскольку логическое значение не округляется, разница в месяцах
monthsDiff: 2.983050847457627
Это просто ошибка в Moment.js.diff ()? Каждый из моих тестов успешно пройден.