Datejs在一周内获得一串天

时间:2012-10-23 09:48:31

标签: javascript datejs

我使用datejs,我有两个日期:startDateendDate

日期是日期类型的两个对象。我需要编写一个函数来枚举这两个日期之间的日期。

之间的关系是7天

示例:

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

我需要得到一串这样的输出:

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

2 个答案:

答案 0 :(得分:1)

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"等字符串。

希望这有帮助。

答案 1 :(得分:0)

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();