Эта тема оригинальной страницы относится к 2010 году. Итак, я добавил этот ответ в августе 2017 года. Это простое решение, которое хорошо работает для создания диапазона скользящей даты на основе текущей даты.
Например: если сегодня 28 августа 2017 года, и вы хотите, чтобы начальная дата в прошлом составляла -7 дней, а в будущем - 23 дня в будущем, то следующий код JavaScript выведет строку диапазона дат: 21 августа - 20 сентября 2017 г.
Затем на следующий день, 29 августа 2017 г., диапазон дат будет выглядеть следующим образом: 22 августа - 21 сентября 2017 г.
Примечание: при необходимости вы можете изменить код, чтобы сделать статическую либо начальную, либо будущую дату.
Чтобы использовать его в коде HTML:
Событие удерживается: <script>document.write(dateRange)</script>
принесет:
Событие состоится: с 21 августа по 20 сентября 2017 года
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var startDate = new Date();
startDate.setDate(startDate.getDate() -7 );
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 23);
var m1 = month[startDate.getMonth()];
var d1 = startDate.getDate();
var y1 = startDate.getFullYear();
var m2 = month[futureDate.getMonth()];
var d2 = futureDate.getDate();
var y2 = futureDate.getFullYear();
var dateRange = m1 + ' ' + d1 + ' thru ' + m2 + ' ' + d2 + ', ' + y2;
// alert(dateRange); use alert function to test the date range