[Javascript] Как получить следующие семь дней с X и формат в JS



Answers

Начальная дата:

var startingDay = new Date(year, month, day);

Целая неделя от startingDay :

var thisDay = new Date();
for(var i=0; i<7; i++) {
  thisDay.setDate(startingDay.getDate() + i);
  console.log(thisDay.format());
}

Функция форматирования:

Date.prototype.format = function(){
    var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];        
    var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    return days[this.getDay()]
          +", "
          +this.getDate()
          +" "
          +months[this.getMonth()] 
          +" "
          +this.getFullYear();
};
Question

Я хочу напечатать что-то вроде этого (7-дневный календарь), но с возможностью начать с любой даты, которую я хочу.

Monday, 1 January 2011
Tuesday, 2 January 2011
Wednesday, 3 January 2011
Thursday, 4 January 2011
Friday, 5 January 2011
Saturday, 6 January 2011
Sunday, 7 January 2011

Так, например, я хочу показать следующие семь дней с 22 февраля. Не знаю, как справиться с этим.




Вы можете установить переменную dateString на все, что хотите, и в цикле вы просто увеличиваете день. Затем вы получите даты, но я думаю в другом формате.

var dateString = '22 Feb 2012';
var actualDate = new Date(dateString);
var newDate;

for(var i=1; i<=7; i++){
 newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+i);
}



Links