С учетом экземпляра момента с именем date
следующий метод вычисляет 15-е число предыдущего месяца до 14-го числа текущего месяца (где «текущая» дата является параметром date
):
function getRange(date){
var start = date.clone().startOf("month").add(-1,'months').add(14,'days');
var end = date.clone().startOf("month").add(13,"days");
return [start,end];
}
Живой пример с двумя тестовыми примерами можно увидеть в демоверсии ниже.
var testArr = [
moment(),
moment({y:2019,M:11,d:31}) // 31 december 2019. (Yes months are zero based!)
];
for(var i=0;i<testArr.length;i++){
var [start,end] = getRange(testArr[i]);
console.log(start,' --> ',end);
}
function getRange(date){
var start = date.clone().startOf("month").add(-1,'months').add(14,'days');
var end = date.clone().startOf("month").add(13,"days");
return [start,end];
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>