Когда вы используете .endOf()
, вы мутируете объект, на который он вызывается, поэтому startDate
становится Sep 30
Вы должны использовать .clone()
, чтобы сделать копию, вместо того, чтобы изменять его
var startDate = moment(year + '-' + month + '-' + 01 + ' 00:00:00');
var endDate = startDate.clone().endOf('month');
console.log(startDate.toDate());
console.log(endDate.toDate());
Mon Sep 01 2014 00:00:00 GMT+0700 (ICT)
Tue Sep 30 2014 23:59:59 GMT+0700 (ICT)