Datejs получает строку дней в неделю

Я использую datejs, и у меня есть две даты: startDate а также endDate,

Даты являются двумя объектами типа date. Мне нужно написать функцию, которая перечисляет дни между этими двумя датами.

Граница между 7 днями

Пример:

startDate = 2012-10-30
endDate = 2012-11-05

Мне нужно получить строку вывода, как это:

30,31,01,02,03,04,05

2 ответа

Решение
var getDays = function (start, end) {
    var days = [],
        temp = start.clone();

    while (temp <= end) {
        days.push(temp.toString('dd'));
        temp.add(1).day();
    }

    return days.join(',');
}

var days = getDays(Date.parse('2012-10-30'), Date.parse('2012-11-05'));

Возвращает строку, такую ​​как "30,31,01,02,03,04,05",

Надеюсь это поможет.

var startDate = new Date("2012-10-30"),
    endDate = new Date("2012-11-05"); // or whatever

var days = [];
for (var i=new Date(startDate); i<=endDate; i.setDate(i.getDate()+1))
    days.push(i.getDate());

Чтобы получить ту строку, которую вы хотите, используйте

    days.push(("0"+i.getDate()).substr(-2));

вместо этого тогда days.join(","),

Так как вы используете date.js, здесь выше с некоторым синтаксическим сахаром:

for (var days=[], i=startDate.clone(); i<=endDate; i.addDays(1))
    days.push(i.toString("dd"));
return days.join();
Другие вопросы по тегам